【问题标题】:How to trigger css and js load with Android WebView loadData如何使用 Android WebView loadData 触发 css 和 js 加载
【发布时间】:2016-08-17 18:18:52
【问题描述】:

当我将 HTML 从外部加载到 WebView 时,如何向 WebView 请求 CSS 和 javascript 链接? 这个问题类似于: https://stackoverflow.com/questions/34608714/css-and-js-files-not-loading-in-android-webview 但我们正在从服务器加载所有内容。为了支持 SSL Pinning,我们覆盖了

loadUrl(String url) 

方法(并将覆盖其他方法)并使用 HttpClient.execute 调用处理请求。当我们从网络接收到数据后,我们用

将其推送到 webview 中
WebView.loadData(event.getContent(), event.getMimeType(), event.getEncoding());

我们应该如何实现这种设计以从外部检索数据,然后将其加载到 webview 中?上面的方法显示 HTML 很好,但没有加载 CSS 文件。

【问题讨论】:

  • 还尝试通过以下方式设置基本 URL:loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl)

标签: android webview httpclient


【解决方案1】:

你没有。使用 loadDataWithBaseURL。然后 WebView 将触发加载 css/js/png 的请求。棘手的部分是您可以为初始请求覆盖 ​​WebView.loadUrl,然后为每个 css/js/png 请求覆盖 ​​WebViewClient.shouldInterceptRequest。在那里,您可以触发您的网络请求并将响应作为流 (WebResourceResponse) 返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 2021-11-02
    • 1970-01-01
    • 2011-02-23
    • 2011-06-30
    相关资源
    最近更新 更多