JS強制刷新頁面、清除緩存刷新


清理網站緩存的幾種方法

meta方法

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
<meta http-equiv="expires" content="0">

清理form表單的臨時緩存

<body onLoad="javascript:document.yourFormName.reset()">

jquery ajax清除瀏覽器緩存

方式一:用ajax請求服務器最新文件,並加上請求頭If-Modified-Since和Cache-Control,如下:

$.ajax({
     url:'www.haorooms.com',
     dataType:'json',
     data:{},
     beforeSend :function(xmlHttp){
        xmlHttp.setRequestHeader("If-Modified-Since","0");
        xmlHttp.setRequestHeader("Cache-Control","no-cache");
     },
     success:function(response){
         //操作
     }
     async:false
  });

方法二,直接用cache:false,

$.ajax({
    url:'www.haorooms.com',
    dataType:'json',
    data:{},
    cache:false,
    ifModified :true ,
 
    success:function(response){
        //操作
    }
    async:false
 });

方法三:用隨機數,隨機數也是避免緩存的一種很不錯的方法!

URL 參數后加上 "?ran=" + Math.random(); //當然這里參數 ran可以任意取了

方法四:用隨機時間,和隨機數一樣。

在 URL 參數后加上 "?timestamp=" + new Date().getTime();

用php后端清理

在服務端加 header("Cache-Control: no-cache, must-revalidate");等等(如php中)

 

關於緩存問題:js清除緩存

1、一般手動清除,瀏覽器緩存

2、js代碼清除緩存(原理:增加了一個參數,且該參數是一個隨機數,每次都不一樣,所以每次的請求參數都不一樣,服務器會將其作為一個新的請求,重新返回結果,而不會使用緩存)

js文件:  路徑后面加一個隨機數如下:

<script src="lib/gMarker.js?random=120211"></script>

 css文件 <link rel='stylesheet' href='css/index.css?t=120224'>   加一個標識 強制瀏覽器重新加載此文件

圖片文件: background:url(**.png?20150421) 加一個標識號,使圖片不被緩存

轉自:https://www.cnblogs.com/wangyongx/p/10278520.html


免責聲明!

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



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