我正在尝试删除 WebView 中网页的这一部分
<header class="page-header" data-type="fixed" role="banner"
这是我迄今为止尝试过的
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceStatus){
View view = inflater.inflate(R.layout.fwebview, container, false);
webView = (WebView) view.findViewById(R.id.webView);
String url = getArguments().getString("link");
final String js = "javascript:"
+ "function () {"
+ " var element = document.getElementsByClassName('page-header');"
+ " element[0].parentNode.remove(element[0]);"
+ "} ();";
// Enable Javascript
webView.getSettings().setJavaScriptEnabled(true);
//set the WebViewClient before calling loadUrl
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
webView.loadUrl(js);
}
});
webView.loadUrl(url);
return view;
}
不知怎的,这不起作用。我尝试了各种方法来实现我想要的,但不知何故它不会删除标题。谁能帮我解决这个问题吗?确实很烦人
最佳答案
您还需要WebChromeClient
为您的 WebView
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient()); //after setJavaScriptEnabled
同时启用 DOM 存储可能会有帮助
webView.getSettings().setDomStorageEnabled(true);
关于javascript - 从 Android WebView 中删除特定的类/标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44775439/