HTML5 应用程序缓存 - 缓存的文件不会更新,即使 list 已更新

标签 html offline offline-caching application-cache

我有一个版本化的缓存 list :

#version = e5b4271

每次此版本更改时,我的 webapp 都会加载新的 list ,但它从不从服务器加载更新文件。即使当我清除浏览器缓存(不是应用程序缓存本身),或按 Ctrl+Shift+R 强制它获取新版本时,它仍会从旧应用程序缓存加载文件。

我让它更新的唯一方法是在设置中清除浏览器的应用程序缓存,但显然这是 Not Acceptable ,因为我需要它为普通用户更新。

知道为什么会发生这种情况吗?

最佳答案

刚刚想通了。我正在使用 Flask 的开发服务器,它似乎默认情况下(通过 werkzeug)它为静态文件发送缓存 header 12 小时。将以下内容添加到我的 flask 配置中解决了这个问题:

SEND_FILE_MAX_AGE_DEFAULT = -1

如果其他人遇到此问题,请检查您的服务器配置以确保缓存 header 未与静态文件一起发送。您可以在首次加载文件时在 chrome 的网络选项卡中检查此项。

关于HTML5 应用程序缓存 - 缓存的文件不会更新,即使 list 已更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12980792/

相关文章:

android - 虚拟 map 图 block 提供程序不工作(未调用 getTile)

Chrome 中的 HTML5 Application Cache 缓存事件

HTML5离线数据存储

iOS:Apple 是否禁用了保存到主屏幕的 Web 应用程序的 HTML5 离线功能?

python - 检查元素在 Selenium 中是否可点击

javascript - 当 native 键盘在移动设备上可见时禁用滚动

javascript - 使用 html5shim 库比 document.createElement ('header' 有什么好处吗?

javascript - 离线工作的语音控制脚本(没有互联网连接的本地主机)

javascript - 如何在div之间创建一个中断

svn - 在本地机器上临时使用 SVN 离线工作