通过应用程序缓存仅更新一个文件
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
.
的缓存
而且我只能在隐身模式下看到它刷新,这对我帮助不大...
除了了解为什么我没有看到我的文件更新...
不管怎样,对我有帮助的是:
- 备份需要刷新的特定文件
- 删除项目中的文件
- 运行 网络应用程序(没有文件)
- Return文件到项目,然后运行申请
对我来说,这很有效。
希望对其他人也有帮助。
这是我的 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
.
的缓存
而且我只能在隐身模式下看到它刷新,这对我帮助不大...
除了了解为什么我没有看到我的文件更新...
不管怎样,对我有帮助的是:
- 备份需要刷新的特定文件
- 删除项目中的文件
- 运行 网络应用程序(没有文件)
- Return文件到项目,然后运行申请
对我来说,这很有效。
希望对其他人也有帮助。