Angularjs html的缓存破坏
我读到过一种叫做缓存破坏的方法,它允许我们在js和css文件中添加版本参数,这样客户端就不必在每次更新时清除缓存。然而,我没有读到任何关于html的文章 是否有任何方法允许我们在不清除缓存的情况下加载最新的html文件更改 另外,我不知道其他人的情况,但我刚刚发现是angularjs在缓存我的模板。我还是发布了自己的解决方案编辑 原始答案中的链接已断开 除了公认的答案外,上的答案还提供了有趣的备选方案,具体取决于您的构建过程 原创的 您应该能够通过js强制重新加载浏览器,同时通过仅存在于html文件更新版本中的页面特定javascript对url应用哈希 这将允许您知道何时收到文件的最新版本 编辑 原始答案中的链接已断开 除了公认的答案外,上的答案还提供了有趣的备选方案,具体取决于您的构建过程 原创的 您应该能够通过js强制重新加载浏览器,同时通过仅存在于html文件更新版本中的页面特定javascript对url应用哈希 这将允许您知道何时收到文件的最新版本 解决了。 只需在引用html文件的路由中附加一个参数字符串,就像我们在css和js的缓存破坏中所做的那样Angularjs html的缓存破坏,angularjs,html,caching,cache-control,Angularjs,Html,Caching,Cache Control,我读到过一种叫做缓存破坏的方法,它允许我们在js和css文件中添加版本参数,这样客户端就不必在每次更新时清除缓存。然而,我没有读到任何关于html的文章 是否有任何方法允许我们在不清除缓存的情况下加载最新的html文件更改 另外,我不知道其他人的情况,但我刚刚发现是angularjs在缓存我的模板。我还是发布了自己的解决方案编辑 原始答案中的链接已断开 除了公认的答案外,上的答案还提供了有趣的备选方案,具体取决于您的构建过程 原创的 您应该能够通过js强制重新加载浏览器,同时通过仅存在于html
.when('/login', {
templateUrl: "../views/login.html?v=" + versionNumber,
controller: "LoginController"
})
其中“versionNumber”是一个全局变量。解决了它。
只需在引用html文件的路由中附加一个参数字符串,就像我们在css和js的缓存破坏中所做的那样
.when('/login', {
templateUrl: "../views/login.html?v=" + versionNumber,
controller: "LoginController"
})
其中“versionNumber”是一个全局变量。@michaelms89谢谢。更新答案。@Michaelms89谢谢。更新的答案。我建议设置第二个变量,如versionUrl=?v=+versionNumber,这样您就不必在应用程序中的每个templateUrl的末尾添加?v=。我建议设置第二个变量,如versionUrl=?v=+versionNumber,这样您就不必在应用程序中的每个templateUrl的末尾添加?v=。