如何在android webview中按类和id隐藏多个div

时间:2016-05-20 06:07:44

标签: android webview

我用webview提取了一个网页,但是我想隐藏div类名和divId中的一些div。有没有办法做到这一点?链接在正文中,我能够从第二个div calss中隐藏第一个div类,而其他div id不会隐藏。

  webView = new WebView(this);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("myUrl");
            webView.getSettings().setLoadWithOverviewMode(true);
            webView.getSettings().setUseWideViewPort(true);
            setContentView(webView);
            webView.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {

                    webView.loadUrl("javascript:document.getElementsByClassName('header-top')[0].style.display=\"none\";");
                    webView.loadUrl("javascript:document.getElementsByClassName('inchoo-socialconnect-login')[0].style.display=\"none\";");
                    webView.loadUrl("javascript:(function() { " +
                            "document.getElementById('before-footer')[0].style.display='none';})()");
                    webView.loadUrl("javascript:(function() { " +
                            "document.getElementById('footer')[0].style.display='none';})()");  
                }
            });
        }

1 个答案:

答案 0 :(得分:0)

当你调用getElementById时,它返回一个元素,而不是像getElementsByClassName这样的数组。

因此,尝试从Id调用中删除[0]并查看它是否有帮助。

例如。

webView.loadUrl("javascript:(function() { " + "document.getElementById('before-footer').style.display='none';})()");