Github 页面在所有提供的内容上设置了非常激进的缓存标头(提前Cache-Control: max-age=86400
1 天,提前 1 个月)。Expires
如果您更新页面并推送到 github,重新访问已经获得缓存副本的页面的人将不会在没有实际清理浏览器缓存的情况下获得新页面。
在页面中运行的脚本如何确定它已过时并强制更新?
步骤可能是:
- 确定您在 github 页面上运行:easy , parse
window.location
forgithub.com/
- 确定页面的当前版本:hard,git 不允许您将 sha1 嵌入到提交的页面中;没有RCS
$id$
。那么你怎么知道你是什么版本呢? - 在 github 中获取当前版本;hard, github 摆脱了未经身份验证的 v2 API。推送到 github 和 github 也开始发布之间存在时间上的脱节。那么你怎么知道你能得到什么版本呢?
- 确定您已过时,如何使页面无效并强制重新加载? hard,
window.location.reload(true)
例如在 Safari/Chrome 中不起作用...
所以它的解决这些步骤;当然可能有另一种方式?