好多服務器端或CDN都會對CSS、JS和圖片這些靜態的內容設置緩存,到了IE這里又會在本地做一個緩存。所以當我們更新了CSS文件之后,常常會出現客戶端沒有更新,導致顯示出現問題。之前我一直使用時間戳參數的方法來解決:
每次更改了css文件就把參數time的值設為更改當日的日期,這樣本地IE就會把它當作一個新的文件更新一次。
但是在最近做的項目中發現一個比較奇怪的問題,服務器端做了gzip壓縮,到客戶端第一次解壓的時候沒問題,第二次訪問的時候ie從cache里讀文件就出問題了,只能讀出前面大約一兩千個字節。在兩臺win2000+ie6的機子上重現了這個問題,XP的還沒有發現。
最終的解決方案是在時間戳參數后面再加上一個.css結尾,也就是這么寫:
然后就一切正常了…
大概IE在從緩存里讀文件的時候還得對文件擴展名做一個判斷,所以這么加一下它就認了。
當然js也可以用這種方法
出處:http://www.iamued.com/qianduan/1629.html