html 的缓存破坏
Cache-busting for html
我已经了解了这种称为缓存破坏的方法,它允许我们将版本参数添加到我们的 js 和 css 文件中,这样客户端就不必在我们每次更新时都清除缓存。但是,我没有阅读任何关于 html 的内容。
有没有什么方法可以让我们在不清除缓存的情况下加载最新的 html 文件更改?
P.S。我不了解其他人,但我只是发现 angularjs 正在缓存我的模板。我还是发布了自己的解决方案
编辑
原答案中的link已损坏
除了已接受的答案外, 上的答案还提供了有趣的替代方案,具体取决于您的构建过程。
原创
您应该能够通过 js 强制重新加载浏览器,同时通过特定于页面的 javascript 对 url 应用哈希,该 javascript 仅存在于更新版本的 [=30] =] 文件.
这样您就可以知道何时收到最新版本的文件。
https://developer.zendesk.com/blog/static-file-cache-busting
解决了。
只需将参数字符串附加到引用 html 文件的路由,就像我们对 css 和 js.
的缓存破坏所做的那样
.when('/login', {
templateUrl: "../views/login.html?v=" + versionNumber,
controller: "LoginController"
})
其中 'versionNumber' 是一个全局变量。
我已经了解了这种称为缓存破坏的方法,它允许我们将版本参数添加到我们的 js 和 css 文件中,这样客户端就不必在我们每次更新时都清除缓存。但是,我没有阅读任何关于 html 的内容。
有没有什么方法可以让我们在不清除缓存的情况下加载最新的 html 文件更改?
P.S。我不了解其他人,但我只是发现 angularjs 正在缓存我的模板。我还是发布了自己的解决方案
编辑
原答案中的link已损坏
除了已接受的答案外,
原创
您应该能够通过 js 强制重新加载浏览器,同时通过特定于页面的 javascript 对 url 应用哈希,该 javascript 仅存在于更新版本的 [=30] =] 文件.
这样您就可以知道何时收到最新版本的文件。
https://developer.zendesk.com/blog/static-file-cache-busting
解决了。 只需将参数字符串附加到引用 html 文件的路由,就像我们对 css 和 js.
的缓存破坏所做的那样.when('/login', {
templateUrl: "../views/login.html?v=" + versionNumber,
controller: "LoginController"
})
其中 'versionNumber' 是一个全局变量。