2013-10-25 17 views
0

我有一個程序,加載了一些JS文件。它在所有平臺上都可以正常工作,但不能在IE7上運行 - 是的,IE7。即使我在每次訪問頁面時都保持加載設置,即使這樣它也會從緩存中加載文件。所以爲了避免它,我添加了JS文件的時間戳,並嘗試每次都加載動態和唯一的URL。它在所有其他瀏覽器上再次正常工作,但不在IE7上。我的代碼是:在IE7中的JS +緩存問題

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

當我檢查Internet臨時文件,它truncats可變部分(時間戳開發=」 + dateStr?)並加載該文件,只有文件名。所以當頁面刷新時,它會再次從緩存中選擇文件。請提供任何建議。

+0

只是瞎猜,你可以試試' '#ie' + dateStr'在您目前擁有的網址的結尾。 –

回答

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" /> 

我認爲它應該是工作的嘗試。

1

請查看諾曼解決方案以及..

一個適合我!使用在線回購

隨着jQuery的

$.getScript("http://repoforjs.com/myjsfile.js"); 
使用文件

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

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

加載下面

加載被提及

隨着的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