HTML页面重新加载 - 模拟CTRL + F5

时间:2011-10-26 08:56:31

标签: javascript html browser

我的网页使用的是数据javascript。 所有的JavaScript都被缓存。 当我部署新版本的应用程序时,用户遇到问题,因为浏览器继续使用旧的javascript而不是新的javascript(用于缓存)。

当页面加载时,可以模拟所有页面的 FULL 重新加载,包括javascript和css文件(完全重新加载缓存) ?

谢谢!

托马索

3 个答案:

答案 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,并在文件更改为无效缓存版本时附加新的唯一(哈希)值。