zoukankan      html  css  js  c++  java
  • 页面缓存js问题解决

    转:http://blog.csdn.net/zhbitxhd/article/details/9944715

    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>

    则可以解决问题。

  • 相关阅读:
    Web应用网络模型
    Http协议
    Array数组标准库
    Array数组基础
    javascript--Object
    javascript--Function
    letCode-3
    面试前的准备
    面试常见问题
    面试经验总结
  • 原文地址:https://www.cnblogs.com/zhaobao1830/p/7486645.html
Copyright © 2011-2022 走看看