Web浏览器缓存问题

时间:2016-12-20 05:06:08

标签: javascript html angularjs caching

我一直在为我的网站开发许多更新,但许多客户抱怨他们没有得到任何更新。当我要求他们清除浏览器缓存时,他们的问题就解决了。但是对于低于平均水平的计算机知识的客户来说,难以清除缓存。那么,如果我的网站内容发生变化,有没有办法检测浏览器中的缓存数据并重新加载缓存? 我用HTML开发了我的网站,Angular JS。

2 个答案:

答案 0 :(得分:1)

你可以在你的js,css文件调用中使用一些扩展名,比如

<header>
 <link href="MyFolder/my.css?v=1.5">
 <script src="myFolder/my.js?v=1.5">
</header>

v =版本您可以使用全局变量来保存版本的值,然后您可以使用更新来增加版本号

答案 1 :(得分:1)

只需添加缓存清除。

添加时间戳

"?ts=" + new Date().getTime()

或者在您的情况下,对于构建部署,最好使用版本。 从配置文件中获取您的版本号

var ver = "?ver=" + config.version;
then you url look like
app.js + ver => app.js?ver=1.0.1

对于配置中的版本号,您可以将其保留在客户端配置中,或者在首次点击时从api获取并保存。

如果您使用的是requirejs,那么它就这么简单,只需添加如下值:

require.config({ urlArgs: ver});

它会自动将其附加到每个Js网址。