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

时间:2015-02-19 06:18:59

标签: javascript html5-appcache

这是我的manifest.appcache文件。

CACHE MANIFEST
app.js
theme.css
logo.png

如何强制浏览器仅续订app.js文件?

2 个答案:

答案 0 :(得分:2)

应用程序缓存与您的想法略有不同。

当新版本的清单可用时,浏览器将浏览所有文件并确定服务器上已更改的文件。 浏览器通过发送带有请求的“If-Modified-Since”标头来完成此操作。

如果文件尚未修改,服务器将返回代码304(未修改),浏览器将跳过下载并移至下一个文件。

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

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

在示例中,我使用php脚本动态生成我的appcache.manifest。 脚本md5是所有包含的文件,用于生成清单中包含的哈希/版本号。

答案 1 :(得分:0)

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

无论如何,帮助我的方式如下:

  1. 备份需要刷新的特定文件
  2. 删除项目中的文件
  3. 运行Web应用程序(不带文件)
  4. 将文件返回到项目,然后运行应用程序

对我来说,这行得通。

我希望它也会对其他人有所帮助。