Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs html的缓存破坏_Angularjs_Html_Caching_Cache Control - Fatal编程技术网

Angularjs html的缓存破坏

Angularjs html的缓存破坏,angularjs,html,caching,cache-control,Angularjs,Html,Caching,Cache Control,我读到过一种叫做缓存破坏的方法,它允许我们在js和css文件中添加版本参数,这样客户端就不必在每次更新时清除缓存。然而,我没有读到任何关于html的文章 是否有任何方法允许我们在不清除缓存的情况下加载最新的html文件更改 另外,我不知道其他人的情况,但我刚刚发现是angularjs在缓存我的模板。我还是发布了自己的解决方案编辑 原始答案中的链接已断开 除了公认的答案外,上的答案还提供了有趣的备选方案,具体取决于您的构建过程 原创的 您应该能够通过js强制重新加载浏览器,同时通过仅存在于html

我读到过一种叫做缓存破坏的方法,它允许我们在js和css文件中添加版本参数,这样客户端就不必在每次更新时清除缓存。然而,我没有读到任何关于html的文章

是否有任何方法允许我们在不清除缓存的情况下加载最新的html文件更改

另外,我不知道其他人的情况,但我刚刚发现是angularjs在缓存我的模板。我还是发布了自己的解决方案

编辑

原始答案中的链接已断开

除了公认的答案外,上的答案还提供了有趣的备选方案,具体取决于您的构建过程

原创的

您应该能够通过js强制重新加载浏览器,同时通过仅存在于html文件更新版本中的页面特定javascript对url应用哈希

这将允许您知道何时收到文件的最新版本

编辑

原始答案中的链接已断开

除了公认的答案外,上的答案还提供了有趣的备选方案,具体取决于您的构建过程

原创的

您应该能够通过js强制重新加载浏览器,同时通过仅存在于html文件更新版本中的页面特定javascript对url应用哈希

这将允许您知道何时收到文件的最新版本

解决了。 只需在引用html文件的路由中附加一个参数字符串,就像我们在css和js的缓存破坏中所做的那样

.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=。