zoukankan      html  css  js  c++  java
  • 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);
    复制代码


    出处:

  • 相关阅读:
    C#构造函数
    C#析构函数
    C#常量
    C#属性
    checklistbox的用法
    2012快捷键
    查询ORACLE存储关联表
    UltraDropDown
    Linux常用命令大全(非常全!!!)
    infra 仪表盘效果
  • 原文地址:https://www.cnblogs.com/qianyukun/p/9366418.html
Copyright © 2011-2022 走看看