javascript - 从 Android WebView 中删除特定的类/标签

标签 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;
}

不知怎的,这不起作用。我尝试了各种方法来实现我想要的,但不知何故它不会删除标题。谁能帮我解决这个问题吗?确实很烦人

最佳答案

您还需要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/

相关文章:

javascript - 无法读取 VUE 中链式 AXIO 事务内的公共(public)数组项

javascript - 如何检查 Json 文件更新,如果更新则用更新的数据刷新我的页面

android - Ionic 2/3 - 扫描设备时忽略其他应用程序/android 目录的简单方法

android - 将光标传递给 Activity ?

javascript - 将 JavaScript 值从 Webview 传递到 Activity?Android

android - 从 Android 应用程序访问 WordPress 博客

javascript - 单击链接时如何打开新选项卡或窗口?

javascript - 显示具有 HTML 格式的 Backbone 集合

java - Android,在tomcat服务器上传一个文件

Android:WebView 兼容性(Chromium 和 WebKit WebView)