Android:得到WebView当前页的html源码
Posted animalize
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:得到WebView当前页的html源码相关的知识,希望对你有一定的参考价值。
WebView没有提供直接的API,需要用javascript变通处理一下。
本文试图总结一个最简单、优雅的代码。
1、先创建一个JavaScript接口类:
class MyJavaScriptInterface { @JavascriptInterface @SuppressWarnings("unused") public void processHTML(String html) { // 在这里处理html源码 } }
注意粗体的函数名processHTML,在第2步里还要用到。
关于@JavascriptInterface的详细说明,见:http://blog.csdn.net/z82367825/article/details/52187921
2、注册刚才的JavaScript接口:
WebSettings settings = webView.getSettings(); // 此方法需要启用JavaScript settings.setJavaScriptEnabled(true); // 把刚才的接口类注册到名为HTMLOUT的JavaScript接口 webView.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT"); // 必须在loadUrl之前设置WebViewClient webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { // 这里可以过滤一下url webView.loadUrl("javascript:HTMLOUT.processHTML(document.documentElement.outerHTML);"); } }); // 开始加载网址 webView.loadUrl(url);
出处:https://stackoverflow.com/questions/2376471/how-do-i-get-the-web-page-contents-from-a-webview
以上是关于Android:得到WebView当前页的html源码的主要内容,如果未能解决你的问题,请参考以下文章
Android Webview - 使用一个 loadUrl 缩放图像以正确适合屏幕
android webview中的HTML文件输入(android 4.4,kitkat)
在android的webview中嵌入一段HTML代码或Javascript脚本