在WebView中隐藏没有ID和类名的HTML元素

时间:2018-12-18 12:01:55

标签: android

我在堆栈溢出时经历了多个问题,但找不到有效的答案。我需要在webview android中隐藏没有id和类名的html元素。

1 个答案:

答案 0 :(得分:0)

首先,可能无法在Java中做到这一点,因此您需要在Javascript中做到。第二个问题是,我认为没有简单或足够好的方法可以做到这一点。如果您拥有HTML页面,请尝试向要隐藏的元素添加ID或类。

执行此操作后,您可以像这样运行它:

String classToHide = "some-class";
String jsCode = "for (let el of document.querySelectorAll('." + classToHide + "')) el.style.visibility = 'hidden';";
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
    webView.evaluateJavascript(jsCode, null);
} else {
    webView.loadUrl("javascript:" + jsCode);
}

请注意,您需要像这样启用javacsript:

webView.getSettings().setJavaScriptEnabled(true);