2014-11-22 26 views
1

我使用$.getScript()從某處獲取腳本。

function fetch(url){ 
window.setInterval(function(){ 
$.getScript(url); 
},50000) 
} 

fetch("http://example.com/script.js"); 

但是,當我看着FireBug開發者控制檯時,我發現它增加了額外的數字。這裏是輸出:

<script async="" src="http://example.com/script.js?7330519448833367000&_=1416681336440"> 

遠程服務器已禁用?從他們的htaccess字符。我需要使用$.getScript("")來獲取遠程腳本,但是如何防止添加額外的數字?

回答

1

這是因爲jQuery設置緩存來false(默認)當您使用$.getScript()

jQuery documentation

默認情況下,$ .getScript()設置緩存設置爲false。這會將時間戳查詢參數附加到請求URL,以確保瀏覽器在每次請求時都下載腳本。

要禁用緩存,加上$.getScript調用之前如下:

$.ajaxSetup({ 
    cache: true 
}); 
+0

哪裏應該包括它,裏面的功能或其他地方? – user198989 2014-11-22 18:57:26

+2

加上''。.getScript''之前的行 – ub3rst4r 2014-11-22 19:02:54

2

$.getScript()試圖繞過緩存以始終下載最新文件。這些數字是一個時間戳。

要禁用此需要設置這個屬性格式:

$.ajaxSetup({ 
    cache: true 
});