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

问题描述 投票:0回答:2

这是我的manifest.appcache文件。

CACHE MANIFEST
app.js
theme.css
logo.png

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

javascript html5-appcache
2个回答
2
投票

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

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

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

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

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

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


0
投票

我有同样或类似的情况。 我需要浏览器来刷新文件index.html的缓存。 我只能在隐身模式下看到它刷新,这对我帮助不大... 除了解为什么我没有看到我的文件的更新... 无论如何,对我有帮助的是以下几点:

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

对我来说,这很有效。

我希望它也能帮助别人。

© www.soinside.com 2019 - 2024. All rights reserved.