javascript - 从网页 Java 中删除部分网站

标签 javascript java android html

    @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");

        // 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("javascript:var con = document.getElementByClassName('page-header'); " +
                        "con.parentNode.removeChild(con); ");
            }
        });
        webView.loadUrl(url);
        return view;
    }

这段代码是我写的。它从另一个 Fragment 获取 URL。对于这个问题来说没关系。我尝试了各种 JavaScript 代码来从网页 www.ad.nl 中删除标题,但它似乎不起作用。该页面上的页眉的类是 page-header。除此之外,像 \"page-header\" 这样的转义函数是行不通的。

谁能帮我解决这个问题吗?

最佳答案

我对此的看法是这样的

String js = "javascript:"
            + "function () {"
            + "   var element = document.getElementsByClassName('page-header');"
            + "   element[0].parentNode.remove(element[0]);"
            + "} ();";

然后如果可能的话我可能会使用evaluateJavascript以避免不必要的页面加载,如下所示:

webView.setWebViewClient(new WebViewClient() {

    @Override
    public void onPageFinished(WebView view, String url)
    {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
            webView.evaluateJavascript(js, null);
        } else {
            webView.loadUrl(js);
        }
    }

});

请注意,这仅处理它遇到的第一个page-header,如果丢失就会中断,但想法应该很清晰。

关于javascript - 从网页 Java 中删除部分网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44767900/

相关文章:

javascript - JSX 动态组件 - 未知属性

javascript - 如何检查是否指定了推荐人

android - Cordova权限,在config.xml中如何处理?

java - 尝试以随机顺序输出列表数组的文本,但我不断收到 textView.setText(myList[rando]) 的错误;

javascript - 对象属性动态删除

javascript - 滚动到页面顶部而不刷新/重新加载该页面

java - 简单的 Java 程序越来越消耗内存

Java相当于python中的bisect

java - 使用 Groovy 动态更改 Java 应用程序的行为

android - mupdf 无法识别版本标记