欢迎来到Jeremy的博客

关于浏览器缓存

浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种方法。

清理网站缓存的几种方法

meta方法

//不缓存
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">
 

清理form表单的临时缓存

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

 

jquery ajax清除浏览器缓存

方式一:用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:

$.ajax({
  url:'www.haorooms.com',
  dataType:'json',
  data:{},
  beforeSend :function(xmlHttp){
   xmlHttp.setRequestHeader("If-Modified-Since","0");
   xmlHttp.setRequestHeader("Cache-Control","no-cache");
  },
  success:function(response){
    //操作
  }
  async:false
});
方法二,直接用cache:false,
$.ajax({
  url:'www.haorooms.com',
  dataType:'json',
  data:{},
  cache:false,
  ifModified :true ,
  success:function(response){
    //操作
  }
  async:false
});

方法三:用随机数,随机数也是避免缓存的一种很不错的方法!

URL 参数后加上 "?ran=" + Math.random(); //当然这里参数 ran可以任意取了

 

方法四:用随机时间,和随机数一样。

在 URL 参数后加上 "?timestamp=" + new Date().getTime();

用php后端清理

在服务端加 header("Cache-Control: no-cache, must-revalidate")

方法五:

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

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

a.html

以下是引用片段:

<html>
   <head>
     <title>a</title>  
     <script language="javascript">
       function jump(){
         window.location.replace("b.html");
       }
     </script>
   </head>
   <body>
    <a href="javascript:jump()" rel="external nofollow" rel="external nofollow" >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()" rel="external nofollow" rel="external nofollow" >a</a>
  </body>
</html>
原文链接:https://www.jb51.net/article/108541.htm
posted on 2018-09-03 11:02  jeremy_o  阅读(1043)  评论(0编辑  收藏  举报