您的位置:首页 > Web前端 > JavaScript

页面缓存js问题解决

2013-08-13 11:16 375 查看
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" />

<meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT"/>

清除临时缓存

<body onLoad="javascript:document.yourFormName.reset()">

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>

则可以解决问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: