【问题标题】:is it possible to inject my javascript to disable javascript inside any webpage using webview?是否可以使用 webview 注入我的 javascript 以禁用任何网页中的 javascript?
【发布时间】:2017-04-12 15:35:26
【问题描述】:

我正在为我的自定义浏览器开发断开连接或幽灵插件,例如在 Firefox 中,以停止各种网页内的一些跟踪脚本,但未能找到任何帮助来禁用在 web 视图中加载的所有网页内的跟踪。

经过一番搜索,我找到了通过从网页中删除要加载的 sctript 来停止跟踪的方法。 但未能找到解决方案来删除所有这些脚本从加载到 webview 中,请帮助..

【问题讨论】:

    标签: javascript android html webview


    【解决方案1】:

    好的,所以我找到了我的解决方案,在 WebViewClient 的方法 shouldInterceptRequest 的帮助下仅阻止加载页面中的一些 javascript 我只使用返回空响应而不像往常一样加载任何数据,如文档中所写。

    将资源请求通知宿主应用程序并允许应用程序返回数据。如果返回值为 null,则 WebView 将继续照常加载资源。否则返回 将使用响应和数据。注意:此方法在线程上调用 除了 UI 线程,因此客户应谨慎行事 访问私有数据或视图系统时。

    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
         if(myConditionFullFilled){
              return new WebResourceResponse("text/css", "UTF-8", null);
             } 
            return super.shouldInterceptRequest(view, url);
        }
    

    【讨论】:

      【解决方案2】:

      我认为有办法。

      但更简单的方法是:

      myWebView.getSettings().setJavaScriptEnabled(false);
      

      【讨论】:

      • Yazan,谢谢你的建议,但它会阻止所有在 webview 中打开的 javascript,我只需要阻止一些。
      猜你喜欢
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 2020-12-24
      • 2010-11-07
      • 1970-01-01
      • 2019-04-23
      相关资源
      最近更新 更多