深入淺出:前端瀏覽器緩存、清除緩存的幾種方法


介紹一個瀏覽器緩存機制的原理:

https://blog.csdn.net/u014590757/article/details/80140654

https://www.cnblogs.com/vajoy/p/5341664.html 

https://www.jianshu.com/p/1a1536ab01f1 ;

一、meta方法 有時候谷歌等瀏覽器不支持

 

<METAHTTP-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()">
其實form表單的緩存對於我們書寫還是有幫助的,一般情況不建議清理,但是有時候為了安全問題等,需要清理一下!


二、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后端處理。

 

 
在 URL 參數后加上 在服務端加 header("Cache-Control: no-cache, must-revalidate");


免責聲明!

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



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