从WebView Android中删除特定的类/标记

时间:2017-06-27 08:22:38

标签: javascript android webview

我试图删除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;
}

不知怎的,这不起作用。我尝试了各种方法来实现我想要的东西,但不知怎的,它不会删除标题。任何人都可以帮我解决这个问题吗?这真的很烦人

1 个答案:

答案 0 :(得分:1)

您还需要为WebView

设置WebChromeClient
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient()); //after setJavaScriptEnabled

同时启用DOM存储可能会有所帮助

webView.getSettings().setDomStorageEnabled(true);