首頁 >web前端 >js教程 >如何清除瀏覽器快取? js的4種方法輕鬆搞定

如何清除瀏覽器快取? js的4種方法輕鬆搞定

青灯夜游
青灯夜游原創
2018-09-08 17:50:298190瀏覽

當我們每次使用瀏覽器上網時,都會在本機磁碟保存下一些的快取檔案。這些瀏覽器上的快取是為了節約網絡的資源加速瀏覽,瀏覽器在用戶磁碟上對最近請求過的文檔進行存儲,當訪問者再次請求這個頁面時,瀏覽器就可以從本地磁碟顯示文檔,這樣就可以加速頁面的閱覽。但是有時候我們又不得不清除緩存,因為緩存可能誤事,出現一些錯誤的資料。

本章我們就帶給大家如何清除快取的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>


#

以上是如何清除瀏覽器快取? js的4種方法輕鬆搞定的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn