每次部署新版本,生成一个新的ID,js引用的路径为"../XXX.js?verision=123"这样浏览器发现ID变了会自动刷心的

解决方案 »

  1.   

    写一个公共的页面,里面主要是清除ie缓存的。例如在Java中的代码:java 代码
    1.p_response.setHeader("Cache-Control","no-cache");   
    2.p_response.setHeader("Cache-Control","no-store");   
    3.p_response.setDateHeader("Expires", 0);   
    4.p_response.setHeader("Pragma","no-cache");  
     在JSP中的代码xml 代码
    1.<META HTTP-EQUIV="pragma" CONTENT="no-cache">  
      

  2.   

    写一个公共的页面,里面主要是清除ie缓存的。例如在Java中的代码:java 代码
    1.p_response.setHeader("Cache-Control","no-cache");   
    2.p_response.setHeader("Cache-Control","no-store");   
    3.p_response.setDateHeader("Expires", 0);   
    4.p_response.setHeader("Pragma","no-cache");   
     在JSP中的代码xml 代码
    1.<META HTTP-EQUIV="pragma" CONTENT="no-cache">   
      

  3.   

    个人觉得,以上两种说法:1.写一个公共的页面,专门用来解决缓存问题
                            2.在url后面跟上一个时间戳,每次访问的时候,url都不一样,这样每一次访问的时候就不会去读缓存中的东西,而是想服务器发请求
    个人比较推荐后一种,效率较高,前者还要写一个页面,然后再每次都引入!
      

  4.   

    好像以前出现过类似的问题,好像弄个随机数
    打开窗体,读取随机数,这样,调用同一个窗体的随机数不同,就不会进入原来的界面了
    好像是这样,具体的我忘了,做net的时候出现过
      

  5.   

    每次调用是在地址栏中加上随机数的参数,只是加上没有调用,就行了,比如: xxx.jsp?xx
      

  6.   

    url上随便加上一个 随机码就可以了。
      

  7.   

    web项目对引入的外部文件设置缓存是正确的,这样可以减少网页加载时间。
    如后期外部文件有改动并为了用户能在第一时间更新可以在调用外部文件url后加?+一段随即字符串比如 <script src="test.js?20100803"></script>
      

  8.   

    在url后面跟上一个时间戳,每次访问的时候,url都不一样,这样每一次访问的时候就不会去读缓存中的东西,而是想服务器发请求
      

  9.   

    有两种方式,各有优缺点,楼主自己斟酌。第一是写一个filter,里面专门设置response的头信息response.setHeader("Cache-Control","no-cache");  
    response.setHeader("Cache-Control","no-store");  
    response.setDateHeader("Expires", 0);  
    response.setHeader("Pragma","no-cache");然后再过滤每个文件就行了,优点是写一次到处都可以用,缺点是不是什么资源都可以不让其缓存,比如我试过图片的缓存它就阻止不了。第二是每个链接后面加一个时间戳,采取欺骗浏览器的方式,告诉它每次加载的都是新文件常用格式:<a href="abc.js?t=<%System.currentTimeMillis()%>">参数名随便乱起,无所谓,保证每次的参数值不同就行了,优点是可以确保每个资源都是重新加载,缺点是每个地方都要加,比较繁琐。楼主自己考虑哪种比较好,也可以结合着用。
      

  10.   

    网页不进行缓存:
    一、对于静态页:可以利用<meta>标记符的另一种用法来实现,其用法为:<meta http-equiv="Pragma" content="no-cache">特别说明:有很多人问到,这样设置了没有用,网页仍有缓存,那是因为您没有设置页面过期时间的原因,您必须同时指定当前页面的过期时间,例如:
    <meta http-equiv="expires" content="Wed, 23 Aug 2006 12:40:27 UTC" />
    这儿的meta标签用来定义页面过期时间为:2006年8月23日 23:40:27
    需要特别注意的是content的值必须是一个UTC格式的标准时间(有关UTC格式的时间,请参见本站javascript教程)或者GMT时间(由于GMT时间己过时,所以建议用UTC标准格式),如果您要让网页立即过期,您可以设置一个过期时间远小于现在的时间,例如:
    Mon,1 Jan 2001 0:0:0 UTC二、对于ASP页面:可利用以下语句下实现:<%
    Response.Buffer=true
    Response.CacheControl="no-cache"    '禁止代理服务器缓存本页面
    Response.Expires=-1000                          '让页面立即过期(这儿最好设置一个绝对值较大的负数)
    %>三、对于JSP页面:<%
    if (request.getProtocol().compareTo("HTTP/1.0")==0)
          response.setHeader("Pragma","no-cache");
    if (request.getProtocol().compareTo("HTTP/1.1")==0)
          response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires",0);
    %>四、对于PHP页面:<?php
        header ("Cache-Control: no-cache, must-revalidate"); 
        header ("Pragma: no-cache"); 
    ?>