介紹一個瀏覽器緩存機制的原理:
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");