0

我正在使用 WebView 呈现从字符串加载的本地 HTML 页面,出于安全原因需要阻止加载任何外部资源,但需要通知用户是否实际阻止了任何内容,并为用户提供使用远程完全加载页面的选项图像/脚本。

我最初使用webView.getSettings().setBlockNetworkLoads(true). 这很好用。接下来,我需要确定加载的 HTML 内容是否实际上包含对被阻止的外部网络资源的任何引用。谁能告诉我该怎么做?

我希望这可以与 API 8 一起使用

4

1 回答 1

0

您需要执行以下操作:

class MyWebViewClient extends WebViewClient { 
    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
        // This method will get called when resources are to be loaded
        return new WebResourceResponse(null, null, new ByteArrayInputStream(new byte[0]));
    }
}

然后将此客户端分配给您的 webview 并在上述方法中处理资源加载。

这样,您应该能够在不使用该setBlockNetworkLoads(true)方法的情况下禁用加载外部资源并同时获取回调。

于 2013-11-26T19:35:37.853 回答