關(guān)于瀏覽器緩存
瀏覽器緩存琐旁,有時(shí)候我們需要他误窖,因?yàn)樗梢蕴岣呔W(wǎng)站性能和瀏覽器速度叮盘,提高網(wǎng)站性能。但是有時(shí)候我們又不得不清除緩存霹俺,因?yàn)榫彺婵赡苷`事柔吼,出現(xiàn)一些錯(cuò)誤的數(shù)據(jù)。像股票類(lèi)網(wǎng)站實(shí)時(shí)更新等丙唧,這樣的網(wǎng)站是不要緩存的愈魏,像有的網(wǎng)站很少更新,有緩存還是比較好的想际。今天主要介紹清除緩存的幾種方法培漏。
清理網(wǎng)站緩存的幾種方法
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表單的臨時(shí)緩存
<body onLoad="javascript:document.yourFormName.reset()">
其實(shí)form表單的緩存對(duì)于我們書(shū)寫(xiě)還是有幫助的,一般情況不建議清理胡本,但是有時(shí)候?yàn)榱税踩珕?wèn)題等牌柄,需要清理一下!
jquery ajax清除瀏覽器緩存
方式一:用ajax請(qǐng)求服務(wù)器最新文件侧甫,并加上請(qǐng)求頭If-Modified-Since和Cache-Control,如下:
$.ajax({
url:'www.jb51.net',
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.jb51.net',
dataType:'json',
data:{},
cache:false,
ifModified :true ,
success:function(response){
//操作
}
async:false
});
方法三:用隨機(jī)數(shù),隨機(jī)數(shù)也是避免緩存的一種很不錯(cuò)的方法披粟!
URL 參數(shù)后加上 "?ran=" + Math.random(); //當(dāng)然這里參數(shù) ran可以任意取了
方法四:用隨機(jī)時(shí)間咒锻,和隨機(jī)數(shù)一樣。
在 URL 參數(shù)后加上 "?timestamp=" + new Date().getTime(); 用php后端清理
在服務(wù)端加 header("Cache-Control: no-cache, must-revalidate");等等(如php中)
以上這篇清除瀏覽器緩存的幾種方法總結(jié)(必看)就是小編分享給大家的全部?jī)?nèi)容了守屉,希望能給大家一個(gè)參考惑艇,也希望大家多多支持腳本之家。
jQuery是如何處理緩存的拇泛?
1)通過(guò)$.post()方法來(lái)獲取數(shù)據(jù)滨巴,那么默認(rèn)就是禁用緩存的。
2)通過(guò)$.get()方法來(lái)獲取數(shù)據(jù)俺叭,可以通過(guò)設(shè)置時(shí)間戳來(lái)避免緩存蓬坡。
可以在URL后面加上+(+new Date)來(lái)增加上時(shí)間戳參數(shù)
例:$.get('ajax.xml?'+(+newDate),function () {
//函數(shù)內(nèi)容代碼
});
3)通過(guò)$.ajax方法來(lái)獲取數(shù)據(jù),只要設(shè)置參數(shù)cache:false即可肃晚。