页⾯JS缓存问题解决⽅案
1.在jsp中加⼊头
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
或者加⼊
<meta http-equiv="pragma" content="no-cache"  />
<meta http-equiv="content-type" content="no-cache, must-revalidate" />
ajax实例 文件浏览<meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT"/>
清除临时缓存
<body onLoad="set()">
2.在action,使⽤如下声明
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
3.随机参数document.write("<script src='test.js?rnd="+Math.random()+"'></s"+"cript>")。
4.jquery ajax清除浏览器缓存的两种⽅法:
1.通过$.ajaxSetup 设置属性cache:false,让ajax不调⽤浏览的缓存.
jQuery.ajaxSetup ({cache:false})
2.可以在ajax的url后加上随机串来避免浏览缓存,如$.ajax({url:'test.php?'+parseInt(Math.random()*100000)})缓存
5.有时候以上的⽅法清除缓存只清除⼀次,第⼆次就没有效果了。
所以,本⼈认为最佳的⽅法是,在调试的过程中,禁掉IE缓存,这样调试就OK了。但是,⽤户并不会禁掉呀,这不是出问题了吗?⽤户会不会我们不去管,如果写好了js代码的话,我们在js⽂件后⾯加⼊⼀个版本号就好了。⽐如:
<script type="text/javascript" src="<%=baseURL%>/xhd_js/select-ajax.js?1.0"></script>
但是,如果开发者重新修改了js⽂件⽤户怎么办?
修改之后确定使⽤之后,再加上
<script type="text/javascript" src="<%=baseURL%>/xhd_js/select-ajax.js?2.0"></script>
则可以解决问题。