js清除瀏覽器緩存


瀏覽器緩存       

  1. 所有的數據都可以存到服務器中,但這樣並不高效,當我們訪問網頁的時候,一會卡頓,二會浪費服務器的存儲空間,三會給服務器造成壓力
  2. 瀏覽器緩存,可以提高網站性能和瀏覽器的速度,但對於需要經常更新的網頁來說,緩存導致用戶無法顯示更新后的樣式

 如何通過js清除緩存?

隨機數

  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();

     

meta

  1. 在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"/>

     

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");
      }

     

replace

  1. replace的原理就是用當前頁面替換掉replace參數指定的頁面
    <script language="javascript"> 
                 function jump(){ 
                     window.location.replace("b.html"); 
                 } 
             </script> 

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM