js中自動清除ie緩存方法 — 常用
對于動態(tài)文件,比如 index.asp?id=... 或者 index.aspx?id=... 相信有經(jīng)驗(yàn)的程序員都知道怎樣禁止瀏覽器緩存數(shù)據(jù)了.
但是對于靜態(tài)文件(css,jpg,gif等等), 在什么場合下面我們需要禁止瀏覽器緩存他們,怎么做?
方法一:Dojo中我們可以用簡單的方法完成:在dojo.xhrGet(包括post)等方法中都包含preventCache屬性,此屬性的含義: “默認(rèn)為啟用瀏覽器緩存,否則將通過自動增加不同的參數(shù)來確保瀏覽器緩存失效” 我們只要把此屬性賦值為:“true”即可。
方法二:document.write("
其中 ver=113 的 113就是版本號,一般都是采用 CVS 或其他工具生成的開發(fā)版本號。
這樣真正做到了應(yīng)該緩存的時候緩存靜態(tài)文件,當(dāng)版本有更新的時候從獲取最新的版本,并更新緩存。
對于圖像 來有效利用和更新緩存.
js清除瀏覽器緩存 二
為了減小瀏覽器與服務(wù)器之間網(wǎng)絡(luò)傳輸壓力,往往對靜態(tài)文件,如js,css,修飾的圖片做cache,也就是給這些文件的HTTP響應(yīng)頭加入 Expires和Cache-Control參數(shù),并指定緩存時間,這樣一定時間內(nèi)瀏覽器就不會給服務(wù)器發(fā)出任何的HTTP請求(除了強(qiáng)制刷新),即使在 這段時間內(nèi)服務(wù)器的js或css或圖片文件已經(jīng)更新多次,但瀏覽器的數(shù)據(jù)依然是原來最能初cache的舊數(shù)據(jù),有沒有辦法讓瀏覽器拿到已經(jīng)修改后的最新數(shù) 據(jù)呢?
有,方法是用ajax請求服務(wù)器最新文件,并加上請求頭If-Modified-Since和Cache-Control,如下:
復(fù)制代碼 代碼如下:
$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");
}
});
復(fù)制代碼 代碼如下:
$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
cache:false,
ifModified :true
});
新聞熱點(diǎn)
疑難解答
圖片精選