2013-03-14 59 views
0

在我的網站上,當我在網頁上添加腳本時出現隨機查詢字符串出現問題。我知道這不是我,因爲Pingdom & Google Pagespeed已經證實我有隨機查詢字符串,但問題是爲什麼。例如,包含腳本時出現的隨機查詢字符串

<script type="text/javascript" src="js/randomfile.js"></script> 

出現在瀏覽器,Firefox的開發者工具,以及IE作爲

<script type="text/javascript" src="js/randomfile.js?_=1247543709724"></script> 

任何指針如爲什麼會發生? 任何幫助,將不勝感激。

+0

它似乎是一個cachebusting版本字符串。你用什麼服務器端技術輸出腳本標記? – Bergi 2013-03-14 17:07:06

回答

1

該數字是附加到腳本URL的某個唯一值(可能在頁面加載時生成)。這可以防止腳本被緩存,因爲在每個頁面加載時URL都是唯一的。

我不能說在沒有看到您的設置的情況下做了什麼,但它很可能是您正在使用的庫之一。

+0

你完全正確,並指出我正確的方向。 jQuery的是這些附加的腳本結束,下列固定它: '$ .ajaxSetup({ 緩存:真 });' 謝謝:) – 2013-03-14 17:20:09

+1

這個數字實在不像一個時間戳。 – Bergi 2013-03-14 17:26:28

+0

@Bergi,是的,再看看它太短了。好點,修改。 – Griffin 2013-03-14 17:31:28

2

如果您的源代碼HTML不包含查詢字符串,那麼似乎會有一個服務器端優化工具重寫您的src

這些查詢字符串值很好的原因是緩存清除。 JavaScript文件通常很少發生變化,因此非常適合緩存。但是當你改變一個JS文件時,你想確保你的用戶把新文件用在緩存中而不是文件中。因此,您將您的src值更新爲新的唯一網址。瀏覽器將其視爲一種全新的資源,並從服務器上下載它,忽略已存在於緩存中的內容。

+0

感謝您的建議 – 2013-03-14 17:18:48

相關問題