1.在HTML中加入头
1
2
3
|
<
META
HTTP-EQUIV
=
"Pragma"
CONTENT
=
"no-cache"
>
<
META
HTTP-EQUIV
=
"Cache-Control"
CONTENT
=
"no-cache"
>
<
META
HTTP-EQUIV
=
"Expires"
CONTENT
=
"0"
>
|
或者加入
1
2
3
|
<
meta
http-equiv
=
"pragma"
content
=
"no-cache"
/>
<
meta
http-equiv
=
"content-type"
content
=
"no-cache, must-revalidate"
/>
<
meta
http-equiv
=
"expires"
content
=
"Wed, 26 Feb 1997 08:21:57 GMT"
/>
|
清除临时缓存
1
|
<
body
onLoad
=
"javascript:document.yourFormName.reset()"
>
|
2.在action,使用如下声明
1
2
3
|
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
|
3.随机参数
1
|
document.write("<
script
src
=
'test.js?rnd="+Math.random()+"'
></
s
"+"cript>");
|
4.jquery ajax清除浏览器缓存的两种方法:
1.通过$.ajaxSetup 设置属性cache:false,让ajax不调用浏览的缓存.
1
|
jQuery.ajaxSetup ({cache:
false
});
|
2.可以在ajax的url后加上随机串来避免浏览缓存
1
|
$.ajax({url:
'test.php?'
+parseInt(Math.random()*100000)});
|
5.有时候以上的方法清除缓存只清除一次,第二次就没有效果了。
所以,本人认为最佳的方法是,在调试的过程中,禁掉IE缓存,这样调试就OK了。但是,用户并不会禁掉呀,这不是出问题了吗?
用户会不会我们不去管,如果写好了js代码的话,我们在js文件后面加入一个版本号就好了。比如:
1
|
<script type=
"text/javascript"
src=
"<%=baseURL%>/xhd_js/select-ajax.js?1.0"
></script>
|
但是,如果开发者重新修改了js文件用户怎么办?
修改之后确定使用之后,再加上
1
|
<script type=
"text/javascript"
src=
"<%=baseURL%>/xhd_js/select-ajax.js?2.0"
></script>
|
则可以解决问题。
本文转自 爱笑嘚蛋蛋 51CTO博客,原文链接:http://blog.51cto.com/dd118/1841936,如需转载请自行联系原作者