【问题标题】:Force refresh of CSS files强制刷新 CSS 文件
【发布时间】:2013-09-20 08:26:18
【问题描述】:

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

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

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

【问题讨论】:

    标签: android css webview


    【解决方案1】:

    如果可能,在调用 css 文件名时在其末尾添加时间戳或唯一值。我在我的 webapp 中使用了这个方法,虽然我使用 php 附加了时间戳,我确信它可以在 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?>">
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 完美运行。立即加载 CSS。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 2012-07-13
      • 2011-05-27
      • 2010-10-23
      • 2018-07-04
      • 1970-01-01
      相关资源
      最近更新 更多