页面缓存js问题解决

    xiaoxiao2023-06-09  164

     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>

    则可以解决问题。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)