【问题标题】:HTML5 application cache - cached files do not update, even when manifest is updatedHTML5 应用程序缓存 - 缓存文件不会更新,即使清单已更新
【发布时间】:2012-10-19 19:03:00
【问题描述】:
我有一个版本化的缓存清单:
#version = e5b4271
每次此版本更改时,我的 web 应用都会加载新清单,但它从不从服务器加载更新文件。即使我清除了浏览器缓存(不是应用程序缓存本身),或者按 Ctrl+Shift+R 强制它获取新版本,它仍然会从旧的 appcache 加载文件。
我可以让它更新的唯一方法是在设置中清除浏览器的应用程序缓存,但显然这是不可接受的,因为我需要它为普通用户更新。
任何想法为什么会发生这种情况?
【问题讨论】:
标签:
html
offline
offline-caching
application-cache
【解决方案1】:
刚刚想通了。我正在使用 Flask 的开发服务器,默认情况下(通过 werkzeug)它似乎会为静态文件发送 12 小时的缓存头。将以下内容添加到我的烧瓶配置中解决了这个问题:
SEND_FILE_MAX_AGE_DEFAULT = -1
如果其他人遇到此问题,请检查您的服务器配置以确保缓存标头未与静态文件一起发送。您可以在第一次加载文件时在 chrome 的网络选项卡中检查这一点。