1

我有一个WebView从我的应用程序的私有数据中加载 HTML 文件。我从服务器加载这些文件,然后将它们保存到私有数据文件夹。它们带有 JavaScript 文件、CSS 文件、图像等。所以我WebView可以很好地显示这些 HTML 文件。

我的问题是当我在我的服务器上修改这些文件的内容,然后在应用程序中再次下载这些文件(首先我确保所有文件都从私有数据文件夹中删除)并打开WebView,除了 CSS 之外的所有内容都已更新文件,样式保持不变。我发现强制更新 CSS 文件的最快解决方案WebView是删除应用程序的所有内容(在设置中),然后再次下载文件。

注意:我不想清除历史记录等所有数据,因为我在 上使用本地存储WebView,但如果可能的话,清除资源是可以的。

4

2 回答 2

5

如果可能,在调用 css 文件名时添加时间戳或唯一值。尽管我使用 php 附加了时间戳,但我在我的 webapp 中使用了这种方法,我确信它可以在 html 中使用 JS 也使用 event.timeStamp 来完成。

例如

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.0-alpha.2/jquery.mobile-1.4.0-alpha.2.min.css?timestamp=<? echo $timestamp?>">

希望这可以帮助。

于 2013-09-30T21:39:17.833 回答
1

我在 myWebView 中使用了以下代码来强制重新加载我的 css 文件:

myWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

WebSettings.LOAD_NO_CACHE 强制从网络加载您的 html 文件。文档:“不要使用缓存,从网络加载。与 setCacheMode(int) 一起使用。”

于 2017-01-18T19:38:36.793 回答