zoukankan      html  css  js  c++  java
  • 解决js缓存地址问题


    解决js缓存地址问题


    js实现不缓存

    <META HTTP-EQUIV="pragma" CONTENT="no-cache">

    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">

    <META HTTP-EQUIV="expires" CONTENT="0">

    不缓存js的方法

    <script>

    document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>");

    </script>

    其他的类似,只需在地址后加上+Math.random()

    注意:因为Math.random() 只能在Javascript 下起作用,故只能通过Javascript的调用才可以

    若上面改为

    (<script type=”text/javascript“ src=”/js/test.js?+Math.random()“></script>

    则无法实现不缓存

    js文件不缓存

    每次连接的地址变化,利用js随机数

    document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>");

    禁用页面缓存的几种方法(静态和动态)

      1、在Asp页面首部<head>加入    以下是引用片段:

       Response.Buffer    =    True   

       Response.ExpiresAbsolute    =    Now()    -    1   

       Response.Expires    =    0   

       Response.CacheControl    =    "no-cache"   

       Response.AddHeader    "Pragma",    "No-Cache"



    2、在HtML代码中加入  

    以下是引用片段:

       <HEAD>   

       <META    HTTP-EQUIV="Pragma"    CONTENT="no-cache">   

       <META    HTTP-EQUIV="Cache-Control"    CONTENT="no-cache">   

       <META    HTTP-EQUIV="Expires"    CONTENT="0">   

       </HEAD>



       

    3、在重新调用原页面的时候在给页面传一个参数    Href="****.asp?random()"

      前两个方法据说有时会失效,而第三种则是在跳转时传一个随机的参数! 因为aspx的缓存是与参数相关的,如果参数不同就不会使用缓存,而会重新生成页面,每次都传一个随机的参数就可以避免使用缓存。这个仅适用于asp&asp.net

      4、在jsp页面中可使用如下代码实现无缓存:

    以下是引用片段:

    response.setHeader("Cache-Control","no-cache"); //HTTP 1.1

    response.setHeader("Pragma","no-cache"); //HTTP 1.0

    response.setDateHeader ("Expires", 0); //prevents caching at the proxy server



      这些代码加在<head> </head>中间具体如下

    以下是引用片段:

    <head>

    <%

    response.setHeader("Cache-Control","no-cache"); //HTTP 1.1

    response.setHeader("Pragma","no-cache"); //HTTP 1.0

    response.setDateHeader ("Expires", 0); //prevents caching at the proxy server

    %>

    </head>



      5、window.location.replace("WebForm1.aspx");  

    参数就是你要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。  

    这样可以防止用户点击back键。使用的是javascript脚本,举例如下:

      a.html

    以下是引用片段:

    <html>

         <head>

             <title>a</title>     

             <script language="javascript">

                 function jump(){

                     window.location.replace("b.html");

                 }

             </script>

         </head>

         <body>

            <a href="javascript:jump()">b</a>

        </body>

    </html>



      b.html

    以下是引用片段:

    <html>

         <head>

             <title>b</title>     

             <script language="javascript">

                 function jump(){

                     window.location.replace("a.html");

                 }

             </script>

         </head>

         <body>

            <a href="javascript:jump()">a</a>

        </body>

    </html>



      前4种只是清空了cache,即存储在Temporary Internet Files文件夹中的临时文件,而第五种则是使用跳转页面文件替换当前页面文件,并没有清空cache,也就是说Temporary Internet Files产生了相关的临时文件,两者搭配使用真是清空缓存,必备良药。正好我这里有了记录,所以常来看看哦。
  • 相关阅读:
    CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
    如何正确且成功破解跨平台数据库管理工具DbVisualizer?(图文详解)
    [转]【HTTP】Fiddler(二)
    [转]jQuery UI Dialog Modal Popup Yes No Confirm example in ASP.Net
    [转]artDialog
    [转]GridView排序——微软提供Sort
    [转]GridView中直接新增行、编辑和删除
    [转]asp.net的ajax以及json
    [转]JQuery Ajax 在asp.net中使用总结
    [转]Jquery easyui开启行编辑模式增删改操作
  • 原文地址:https://www.cnblogs.com/iamconan/p/7383426.html
Copyright © 2011-2022 走看看