通过应用程序缓存仅更新一个文件

Update only one file via application cache

这是我的 manifest.appcache 文件。

CACHE MANIFEST
app.js
theme.css
logo.png

如何强制浏览器只更新 app.js 文件?

应用程序缓存的工作方式与您想象的略有不同。

当有新版本的清单可用时,浏览器会遍历所有文件并确定哪些文件在服务器上发生了更改。 浏览器通过在请求中发送 "If-Modified-Since" header 来做到这一点。

如果文件没有被修改,服务器将return代码304(未修改)并且浏览器将跳过下载并移动到下一个文件。

只有修改过的文件才会刷新。

在清单中包含版本或散列也是一个好主意,因此始终会下载并检查新的清单。

例如,我使用 php 脚本动态生成我的 appcache.manifest。 脚本 md5 的所有包含文件生成清单中包含的 hash/version 数字。

我也遇到过相同或相似的情况
我需要浏览器刷新文件 index.html.
的缓存 而且我只能在隐身模式下看到它刷新,这对我帮助不大...
除了了解为什么我没有看到我的文件更新...

不管怎样,对我有帮助的是:

  1. 备份需要刷新的特定文件
  2. 删除项目中的文件
  3. 运行 网络应用程序(没有文件)
  4. Return文件到项目,然后运行申请

对我来说,这很有效。

希望对其他人也有帮助。