首页 > 解决方案 > 在 WebView 中隐藏没有 Id 和类名的 HTML 元素

问题描述

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

标签: android

解决方案


首先,用 Java 可能是不可能的,所以你需要用 Javascript 来做。第二个问题是我认为没有简单或足够好的方法来做到这一点。如果您拥有 HTML 页面,请尝试将 id 或 class 添加到要隐藏的元素。

当你这样做时,你可以像这样运行它:

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

推荐阅读