0

我有一个加载许多 JS 文件的程序。它在所有平台上都可以正常工作,但在 IE7 上却不行——是的 IE7。即使我每次访问页面时都保持加载设置,即使这样它也会从缓存中加载文件。因此,为了避免这种情况,我在 JS 文件中添加了时间戳,并尝试每次都加载动态且唯一的 URL。它在所有其他浏览器上再次正常工作,但在 IE7 上却不行。我的代码是:

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

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

4

2 回答 2

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);

如需进一步参考,请访问

参考01

参考02

于 2013-10-25T05:28:30.260 回答
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" />

我认为它应该有效。

于 2013-10-25T04:58:30.343 回答