在Android Studio中从Webview中删除导航栏?
如何在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')[
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来启用它