2011-08-31 27 views
2

我有一個網站上的一些衝突的jQuery的問題,因爲我想弄明白,我在我的頭文件中注意到以下後綴:ver = 3.1.2在ajax.js或filename.js?ver = 3.1.2結尾處是什麼意思?

ajax.js?ver=3.1.2'></script> 
jquery.prettyPhoto.js?ver=3.1.2'></script> 
jquery.cycle.all.2.72.js?ver=3.1.2'></script> 
jcarousellite_1.0.1.min.js?ver=3.1.2'></script> 
jquery.kwicks-1.5.1.pack.js?ver=3.1.2'></script> 
ddsmoothmenu.js?ver=3.1.2'></script> 
js.js?ver=3.1.2'></script> 

顯然3.1.2可能是某種類型的「最新更新」什麼的。它是如何工作的?你如何同步主題或平衡他們?

由於混合版本,這些其他文件會失敗嗎?這裏其餘的:

.css?ver=20110325' type='text/css' media='all' /> 
.css?ver=3.1.2' type='text/css' media='all' /> 
l10n.js?ver=20101110'></script> 
jquery.js?ver=1.4.2'></script> 
all.js?ver=3.1.2#xfbml=1'></script> 
comment-reply.js?ver=20090102'></script> 

不知道這是我應該發佈在Stackoverflow的方式,所以隨時編輯,因爲它應該。

回答

4

這個想法是,js文件被賦予很大的將來期限頭,因此瀏覽器被指示不再下載該文件。

要允許文件被改變,同時仍讓他們緩存此緩存無效查詢字符串經常被添加,使您可以更改位版本和瀏覽器認爲它是一個新的文件。

它實際上並沒有做任何服務器端,它只是一個乾淨的方式來做到這一點。

它實際上是一個非常不錯的方法,因爲有些代理服務器不緩存事情查詢字符串,所以更好的辦法是什麼嵌入到文件名,而不是查詢字符串。

1

3.1.2好像版本中,你正在處理的應用程序,而不是該JS/CSS庫本身的。做這種事情的一個原因是,當你更新你的代碼時,你不必擔心瀏覽器使用舊的緩存版本。

相關問題