1

有什么方法可以将当前成功加载和未加载的文件从 URL 获取到 android webview 中。也就是说,如果我正在加载以下内容,

  • 1.js、2.js、3.js
  • 1.css、2.css、3.css

在 html 页面中并将 html 文件加载到 android webview 中。

我需要在 webview 中列出加载的文件以及无法加载到 android webview 中的文件。我尝试使用 WebchromeClient 中的onConsoleMessage (),它仅检测控制台错误。此方法未获取 css 图像的错误消息。

这可以从 URL 列出文件吗?

4

1 回答 1

1

您可以通过这样的覆盖来获取 WebView尝试加载的资源列表:WebViewClient.shouldInterceptRequest

class MyWebViewClient extends WebViewClient {

    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
        android.util.Log.i("MyWebViewClient", "attempting to load resource: " + url);
        return null;
    }

    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
        android.util.Log.i("MyWebViewClient", "attempting to load resource: " + request.getUrl());
        return null;
    }

}

请记住,这shouldInterceptRequest是在后台线程上调用的,因此您需要同步访问任何共享数据结构。

但是,没有 Java API 可以确定 WebView 是否已成功加载给定资源。

于 2015-01-07T09:51:02.743 回答