js清除浏览器缓存的几种方法
關(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請(qǐng)求服務(wù)器最新文件,并加上請(qǐng)求頭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
});
方法三:用隨機(jī)數(shù),隨機(jī)數(shù)也是避免緩存的一種很不錯(cuò)的方法!
URL 參數(shù)后加上 "?ran=" + Math.random(); //當(dāng)然這里參數(shù) ran可以任意取了
方法四:用隨機(jī)時(shí)間,和隨機(jī)數(shù)一樣。
在 URL 參數(shù)后加上 "?timestamp=" + new Date().getTime();
用HTML Head標(biāo)簽清理
meta方法<METAHTTP-EQUIV="pragma"CONTENT="no-cache"><METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache, must-revalidate"><METAHTTP-EQUIV="expires"CONTENT="0">
在header標(biāo)簽里加入以上幾行代碼,HTTP頭信息“Expires”和“Cache-Control”為應(yīng)用程序服務(wù)器提供了一個(gè)控制瀏覽器和代理服務(wù)器上緩存的機(jī)制。HTTP頭信息Expires告訴代理服務(wù)器它的緩存頁(yè)面何時(shí)將過(guò)期。HTTP1.1規(guī)范中新定義的頭信息Cache-Control可以通知瀏覽器不緩存任何頁(yè)面。當(dāng)點(diǎn)擊后退按鈕時(shí),瀏覽器重新訪問(wèn)服務(wù)器已獲取頁(yè)面。如下是使用Cache-Control的基本方法:
(1)no-cache:強(qiáng)制緩存從服務(wù)器上獲取新的頁(yè)面
(2)no-store: 在任何環(huán)境下緩存不保存任何頁(yè)面
HTTP1.0規(guī)范中的Pragma:no-cache等同于HTTP1.1規(guī)范中的Cache-Control:no-cache,同樣可以包含在頭信息中。
但是實(shí)際使用中卻發(fā)現(xiàn)即使這樣設(shè)置了,卻還是在首次加載時(shí)仍然是舊的頁(yè)面,再次刷新才能更新到最新的,這樣往往就達(dá)不想要的效果。
總結(jié)
以上是生活随笔為你收集整理的js清除浏览器缓存的几种方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 联想17.3英寸21:9带鱼屏笔记本实拍
- 下一篇: C++11——列表初始化