當我們每次使用瀏覽器上網時,都會在本地磁碟儲存下一些的快取檔案。這些瀏覽器上的緩衝是為了節約網路的資源加速瀏覽,瀏覽器在使用者磁碟上對最近請求過的文檔進行儲存,當訪問者再次請求這個頁面時,瀏覽器就可以從本地磁碟顯示文檔,這樣就可以加速頁面的閱覽。但是有時候我們又不得不清除緩衝,因為緩衝可能誤事,出現一些錯誤的資料。
本章我們就給大家帶來如何清除緩衝的4種js方法。有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。
一:瀏覽器緩衝是什嗎?
1.所有的資料都可以存到伺服器中,但這樣並不高效,當我們訪問網頁的時候,一會卡頓,二會浪費伺服器的儲存空間,三會給伺服器造成壓力
2.瀏覽器緩衝,可以提高網站效能和瀏覽器的速度,但對於需要經常更新的網頁來說,緩衝導致使用者無法顯示更新後的樣式
二:如何通過js清除緩衝?
1.隨機數
1)指令碼並不存在,而是服務端動態產生的,因此帶了個版本號碼,以示區別。 即路徑或者檔案名稱後的隨機數對於檔案來說 等價於但瀏覽器會認為他是 該檔案的某個版本!
2)用戶端會緩衝這些css或js檔案,因此每次升級了js或css檔案後,改變版本號碼,用戶端瀏覽器就會重新下載新的js或css檔案 ,刷性緩衝的作用
/* 圖片的路徑+圖片名+隨機數=圖片的版本號碼更替 */$("#pic_code").attr('src','/static/img/verify_code.png'+'?temp=' + Math.random());/* Math.random() 只能在Javascript 下起作用 */<script type="text/javascript" src="core.js?v=20140829"></script>/*時間*/?v=new Date().getTime();
2.meta
在html裡head區添加代碼:
<meta http-equiv="pragma" content="no-cache" /><meta http-equiv="content-type" content="no-cache, must-revalidate" /><meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT"/>
3.ajax
1)設定屬性cache:false,讓ajax不調用瀏覽的緩衝。
cache:false
2)用ajax請求伺服器最新檔案,並加上要求標頭If-Modified-Since和Cache-Control,如下:
beforeSend :function(xmlHttp){ xmlHttp.setRequestHeader("If-Modified-Since","0"); xmlHttp.setRequestHeader("Cache-Control","no-cache"); }
4.replace
replace的原理就是用當前頁面替換掉replace參數指定的頁面
<script language="javascript"> function jump(){ window.location.replace("b.html"); } </script>