HTML5应用程序缓存-缓存文件不会更新,即使清单已更新
我有一个版本化的缓存清单:HTML5应用程序缓存-缓存文件不会更新,即使清单已更新,html,offline,offline-caching,application-cache,Html,Offline,Offline Caching,Application Cache,我有一个版本化的缓存清单: #version = e5b4271 每次此版本更改时,我的webapp都会加载新的清单,但它从不从服务器加载更新文件。即使我清除浏览器缓存(而不是应用程序缓存本身),或者按Ctrl+Shift+R强制它获取新版本,它仍然会从旧的appcache加载文件 我能让它更新的唯一方法是在设置中清除浏览器的应用程序缓存,但显然这是不可接受的,因为我需要为普通用户更新它 你知道为什么会发生这种情况吗?刚刚想出来。我使用的是Flask的开发服务器,默认情况下(通过werkzeu
#version = e5b4271
每次此版本更改时,我的webapp都会加载新的清单,但它从不从服务器加载更新文件。即使我清除浏览器缓存(而不是应用程序缓存本身),或者按Ctrl+Shift+R强制它获取新版本,它仍然会从旧的appcache加载文件
我能让它更新的唯一方法是在设置中清除浏览器的应用程序缓存,但显然这是不可接受的,因为我需要为普通用户更新它
你知道为什么会发生这种情况吗?刚刚想出来。我使用的是Flask的开发服务器,默认情况下(通过werkzeug),它会为静态文件发送12小时的缓存头。将以下内容添加到我的配置解决了此问题:
SEND_FILE_MAX_AGE_DEFAULT = -1
如果其他人有此问题,请检查服务器配置以确保缓存头未与静态文件一起发送。您可以在第一次加载文件时在chrome的网络选项卡中检查这一点