【问题标题】:Find html class inside Android WebView在 Android WebView 中查找 html 类
【发布时间】:2014-08-18 18:07:21
【问题描述】:

我正在尝试在我的手机上创建一个非常简单的应用程序。 我的工作是加载一个网页,并在该页面内复制一个特定的类(在本例中是地址) 一个很简单的例子;

在一个随机页面上,我在他们的源代码中找到了这一行;

<div class='address'>A Adress that i should copy on start</div><div class='phone'> 0000000000 (dont need this anyway)</div>

如您所见,有两个类,addressphone 我想复制地址类中的内容,以便A Adress that i should copy on start

有人知道这是否可能吗? 我查了一下,但没有太多可用的信息,尤其是对于 android...

感谢您的宝贵时间。

问候

【问题讨论】:

    标签: android eclipse class android-webview


    【解决方案1】:

    您可以分两步完成此操作

    第 1 步:在网页上注入您的 javascript 函数

    第2步:使用JavaScriptInterface从javascript调用你的java方法

    下面的代码进入你的ActivityonCreate 方法

    final WebView webview = (WebView)findViewById(R.id.browser);  
    webview.getSettings().setJavaScriptEnabled(true);  
    
    JavaScriptInterface jsInterface = new JavaScriptInterface(this);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.addJavascriptInterface(jsInterface, "JSInterface");
    
    webview.setWebViewClient(new WebViewClient() {  
            @Override  
            public void onPageFinished(WebView view, String url)  
            {  
                webview.loadUrl("javascript:(function() { " +  
                        "var content = document.getElementsByClassName('address')[0].innerHTML; " +
    "window.JSInterface.printAddress(content);" +
                        "})()");  
            }  
        });  
    
    webview.loadUrl("http://YOUR-WEB-URL.com/");  
    

    你的JavaScriptInterface可以是这个

    public class JavaScriptInterface {
        private Activity activity;
    
        public JavaScriptInterface(Activity activiy) {
            this.activity = activiy;
        }
    
        public void printAddress(String address){
            Toast.makeText(activity, "Address: "+address, Toast.LENGTH_LONG).show();
        }
    }
    

    【讨论】:

    • 您好,感谢您分享您的想法。我会尽快试试这个,如果它有效,我会告诉你!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多