在WebView for Android App

时间:2017-04-23 09:30:52

标签: javascript android html webview

我在我的Android应用程序的一部分使用webView。但是在页面的HTML代码中,我想从网站上删除一个导航栏。我试过这个,但那不行:

例证: 在google.com网站上,我想删除我的WebView中的“随机搜索”按钮。

 WebViewClient WebClient = new WebViewClient(){
                        public boolean shouldOverrideUrlLoading(WebView view, String url){
                            view.loadUrl(url);
                            return true;
                        }
                    };


                    WebView myWebView = (WebView) findViewById(R.id.webview52);
                    myWebView.getSettings().setJavaScriptEnabled(true);
                    myWebView.getSettings().setBuiltInZoomControls(false);
                    myWebView.setWebViewClient(WebClient);
                    myWebView.loadUrl("https://mywebsite.com/xxx");
                    myWebView.loadUrl
                            ("javascript:(function() { " +
                                    "document.getElementsByClassName('navbar navbar-inverse navbar-fixed-top')[0].style.display='none'; " +
                                    "document.getElementById('navbar navbar-inverse navbar-fixed-top').style.display='none';");

我想要从网页中删除的HTML代码:

<nav class="navbar navbar-inverse navbar-fixed-top">
    (...)
</nav>

1 个答案:

答案 0 :(得分:1)

您应该从javascript函数中删除(function() {,并且不需要getElementById:

myWebView.loadUrl("javascript:document.getElementsByClassName('navbar navbar-inverse navbar-fixed-top')[0].style.display='none'");

考虑使用evaluateJavascript代替loadUrl("javascript:...(API 19 +)