js清除浏览器缓存的几种方法
Posted jeremy_o
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
});
$.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")
方法五:
window.location.replace("WebForm1.aspx");
参数就是你要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。
a.html
以下是引用片段:
<
head
>
<
title
>a</
title
>
<
script
language
=
"javascript"
>
function jump(){
window.location.replace("b.html");
}
</
script
>
</
head
>
<
body
>
<
a
href
=
"javascript:jump()"
rel
=
"external nofollow"
rel
=
"external nofollow"
>b</
a
>
</
body
>
</
html
>
b.html
以下是引用片段:
<
html
>
<
head
>
<
title
>b</
title
>
<
script
language
=
"javascript"
>
function jump(){
window.location.replace("a.html");
}
</
script
>
</
head
>
<
body
>
<
a
href
=
"javascript:jump()"
rel
=
"external nofollow"
rel
=
"external nofollow"
>a</
a
>
</
body
>
</
html
>
以上是关于js清除浏览器缓存的几种方法的主要内容,如果未能解决你的问题,请参考以下文章