在Android Studio中从Webview中删除导航栏?

在Android Studio中从Webview中删除导航栏?,android,android-studio,webview,android-webview,Android,Android Studio,Webview,Android Webview,如何在Android Studio中从Webview中删除导航栏 这是我目前掌握的代码 webView.setWebViewClient(新的WebViewClient(){ //用于在应用程序中显示URL的webview @凌驾 公共void onPageFinished(WebView视图,字符串url){ //webview加载url并从网站中删除标题 loadUrl(“javascript:(函数(){”+ “document.getElementByTagName('header')[

如何在Android Studio中从Webview中删除导航栏

这是我目前掌握的代码

webView.setWebViewClient(新的WebViewClient(){
//用于在应用程序中显示URL的webview
@凌驾
公共void onPageFinished(WebView视图,字符串url){
//webview加载url并从网站中删除标题
loadUrl(“javascript:(函数(){”+
“document.getElementByTagName('header')[0]。style.display='none'+
“document.getElementsById('header')[0]。style.display='none'+
“document.getElementsById('navbar-navbar-default-header-ontop')[0]。style.display='none'+
"})()");
}
});
loadUrl(url);

尝试使用此代码删除导航栏

webView.loadUrl("javascript:document.getElementsByClassName('navbar navbar-default header-ontop')[0].style.display='none'");

基本上设置display“none”。

//使用Jsoup库,我的问题将得到解决

  @SuppressLint("StaticFieldLeak")
    private class MyAsynTask extends AsyncTask<Void, Void, Document> {
        @Override
        protected Document doInBackground(Void... voids) {

            Document document = null;
            try {
                document = Jsoup.connect(url).get();
                document.getElementsByTag("header").remove();
                document.getElementsByTag("nav").remove();
                document.getElementsByTag("footer").remove();

            } catch (IOException e) {
                e.printStackTrace();
            }
            return document;
        }

        @Override
        protected void onPostExecute(final Document document) {
            super.onPostExecute(document);
            webView.loadDataWithBaseURL(url, document.toString(), "text/html", "utf-8", "");
            webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
            webView.setWebViewClient(new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                    return true;
                }

                @Override
        public void onPageFinished(WebView view, String url) {
                    view.loadUrl("javascript:var footer = document.getElementById(\"footer\");" +
                            " footer.parentNode.removeChild(footer);" +
                            " var header = document.getElementById(\"header\"); " +
                            "header.parentNode.removeChild(header);");

                    super.onPageFinished(view, url);

            progressBar.setVisibility(View.GONE);
        }
            });

        }
    }
@suppressint(“StaticFieldLeak”)
私有类MyAsynTask扩展异步任务{
@凌驾
受保护文档背景(作废…作废){
单据=空;
试一试{
document=Jsoup.connect(url.get();
document.getElementsByTag(“标题”).remove();
document.getElementsByTag(“nav”).remove();
document.getElementsByTag(“页脚”).remove();
}捕获(IOE异常){
e、 printStackTrace();
}
归还文件;
}
@凌驾
后期执行时受保护的无效(最终文件){
super.onPostExecute(文档);
loadDataWithBaseURL(url,document.toString(),“text/html”,“utf-8”,“utf-8”);
webView.getSettings().setCacheMode(WebSettings.LOAD\u CACHE\u ELSE\u NETWORK);
setWebViewClient(新的WebViewClient(){
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图、WebResourceRequest请求){
返回true;
}
@凌驾
公共void onPageFinished(WebView视图,字符串url){
view.loadUrl(“javascript:var footer=document.getElementById(\“footer\”)+
“footer.parentNode.removeChild(footer);”+
“var header=document.getElementById(\“header\”)+
“header.parentNode.removeChild(header);”;
super.onPageFinished(视图、url);
progressBar.setVisibility(View.GONE);
}
});
}
}

您启用了JavaScript吗?默认情况下,它在WebView中被禁用。您可以通过附加到WebView的WebSettings来启用它