在從html5boilerplate項目樣本的html文件的頭部,我注意到這一點:鏈接到css文件時添加請求屬性的功能是什麼?
<link rel="stylesheet" href="css/style.css?v=2">
注意v=2
請求變量。我也注意到,這從來沒有爲JavaScript文件完成。 這樣做的實際功能是什麼?
在從html5boilerplate項目樣本的html文件的頭部,我注意到這一點:鏈接到css文件時添加請求屬性的功能是什麼?
<link rel="stylesheet" href="css/style.css?v=2">
注意v=2
請求變量。我也注意到,這從來沒有爲JavaScript文件完成。 這樣做的實際功能是什麼?
?v=2
可能會阻止瀏覽器從緩存中讀取數據。它是從一個靜態文件加載動態內容時使用,如:
changingListOfStuff.txt?randomUselessPropertyToTrickBrowser=123456789
這迫使瀏覽器使用這個確切的文件,而不是一個緩存的版本changingListOfStuff.txt
先前下載和瀏覽器存儲。緩存加快了加載時間,但如果文件更新迅速,則可能會提供舊版本的文件。
瞭解更多關於緩存的位置:http://en.wikipedia.org/wiki/Web_cache
這只是告訴網址的版本。這是爲了向服務器提出新的請求。在我們知道要實現性能的情況下,我們需要修改一些頭文件,以便下一次CSS由瀏覽器歷史記錄提供服務。但是,每次在修改版本時都會修改CSS版本。瀏覽器應該只會在URL更改時發出新的請求。所以v = 2 probaly意味着一個新版本進入,url應該從css中新鮮地獲取內容。
這就是所謂的緩存清除......你可以閱讀在這裏太
http://manikandanc.blogspot.com/2005/11/cache-busting-with-javascript.html
這將避免客戶擺脫瀏覽器的版本。當您更改JavaScript或CSS時,已經訪問過您的網站的最終客戶端可能會從他的緩存中獲取JavaScript。
你可以不增加版本,只要您將文件部署到生產,這樣它會得到最新的文件
它的JS文件要做的事。只要看看SO的來源 – JohnP 2011-04-04 06:40:13