1. 程式人生 > >避免客戶端緩存腳本,導致文件升級後用戶的腳步未發生變化

避免客戶端緩存腳本,導致文件升級後用戶的腳步未發生變化

用戶 data- 時間 多少 頁面 javascrip class scrip 放棄


在js路徑後跟 ?v=... 的作用:避免客戶端緩存腳本,導致文件升級後用戶的腳步未發生變化。

什麽文件會被瀏覽器緩存?當然是大多數靜態文件--也就是很長一段時間都不會修改的文件,js文件也屬於該類。  asp、php、jsp這類動態頁面--沒多少時間內容就會改變的文件一般會取消或者是縮短緩存失效的時間   這裏jquery.js?v=1.3.2,後面的?v=1.3.2對訪問這個文件沒有任何影響,只是為了換一個url而已,瀏覽器判斷是否需要從緩存中加載,就是通過url 這樣寫也不成問題  jquery.js?1  jquery.js?v=20080101  jquery.js?t=囧 我們來設想一個場景:你開發了一個a.asp的網頁,其中加載了jquery.js
用戶使用了一段時間,這時新的需求又來了,你得在jquery.js增加一個新的函數b
a.asp中調用了這個函數
這時候用戶打電話來問你,怎麽我的瀏覽器報錯---b函數沒有找到
原因就是:瀏覽器沒有緩存a.asp但緩存了jquery.js
那就你回電話告訴用戶,“請你清除一下瀏覽器的緩存吧!”
問題解決了。但當你的用戶是幾千人時,那你可能收到幾百個電話(一些用戶可能就放棄你的產品了)
如果你不想這些用戶碰見“b函數沒有找到”的異常,那只需要改改a.asp引用jquery.js的url即可。






避免客戶端緩存腳本,導致文件升級後用戶的腳步未發生變化