我的网页使用的是数据javascript。 所有的JavaScript都被缓存。 当我部署新版本的应用程序时,用户遇到问题,因为浏览器继续使用旧的javascript而不是新的javascript(用于缓存)。
当页面加载时,可以模拟所有页面的 FULL 重新加载,包括javascript和css文件(完全重新加载缓存) ?
谢谢!
托马索
答案 0 :(得分:3)
将以下元标记行添加到标题中:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
答案 1 :(得分:0)
在块
中使用此代码<META HTTP-EQUIV='Pragma' CONTENT='no-cache'">
<META HTTP-EQUIV="Expires" CONTENT="-1">
或使用网址末尾的任意随机数。
我可以看到,你可以做的是每次在JavaScript文件的引用中添加一个随机数。就像下面的代码一样:
jsfilename.js?Math.random()
然后你的js文件无法通过浏览器缓存。
如果仍然无法正常工作,请跟进
http://verens.com/2008/04/09/javascript-cache-problem-solved/
答案 2 :(得分:0)
您不应该使用建议的元标记,因为它们会禁用整个缓存,而不是为更改的文件清除它。
我建议您在文件路径中附加一些版本唯一值,并且只在每次部署新更改时更改,而不仅仅是在每次加载页面时更改的随机数。
您的问题没有说明,但如果您使用的是ASP.NET,我建议您查看SquishIt等库。它会缩小您的JavaScript和CSS,并在文件更改为无效缓存版本时附加新的唯一(哈希)值。