IE7中的JS + Cache问题

时间:2013-10-25 04:22:21

标签: javascript html internet-explorer internet-explorer-7

我有一个加载大量JS文件的程序。它在所有平台上都可以正常工作,但不适用于IE7 - 是IE7。即使我在每次访问页面时都保持加载设置,即使这样,它也会从缓存中加载文件。所以为了避免它,我添加了JS文件的时间戳,并尝试每次都使用动态和唯一的URL加载。它在所有其他浏览器上再次正常工作,但在IE7上没有。我的代码是:

document.write('<script src="' + Filename + '?dev=' + dateStr + '"\><\/script>');

当我检查临时互联网文件时,它会截断变量部分(时间戳?dev ='+ dateStr )并仅加载带文件名的文件。因此,当刷新页面时,它会再次从缓存中选择文件。有任何建议请。

2 个答案:

答案 0 :(得分:1)

请查看Noman解决方案..

这个适合我!在下面提到

  

使用文件加载

var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'path/to/file?' + new Date().getMilliseconds();

document.getElementsByTagName('head')[0].appendChild(s);
  

使用在线回购加载

使用 Jquery

$.getScript("http://repoforjs.com/myjsfile.js");

使用 JavaScript

var scr = document.createElement("script");
scr.src = "http://repoforjs.com/myjsfile.js" + "?ts=" new Date().getTime();
document.getElementsByTagName("head")[0].append(scr);

如需进一步参考,请访问

Reference 01

Reference 02

答案 1 :(得分:0)

您是否尝试使用以下标记

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="+dateStr+" />
<meta http-equiv="pragma" content="no-cache" />

我认为它应该有效。