calamus
calamus
冬天从这里夺去的,春天会交还与你。
posts - 149,comments - 13,trackbacks - 0

查看和删除浏览器缓存的方法=====》打开

最近在开发项目中发现有时候总要频繁地清除浏览器缓存,不然总是显示的过时的信息

浏览器缓存有利有弊,有些数据需要缓存下来使得页面打开更快提高网站性能,但有些缓存内容又必须清除,缓存可能会导致一些错误数据被展示。

介绍一些清除浏览器缓存的方法:

方法一:利用meta标签

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

这种方法很简单,但不是所有浏览器都支持的,像chrome这种强制使用缓存的浏览器就没有用

方法二:jquery ajax清除浏览器缓存

//用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Contro
$.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){
         //do something
     }
     async:false
  });


//直接用cache:false,
$.ajax({
     url:'www.haorooms.com',
     dataType:'json',
     data:{},
     cache:false, 
     ifModified :true ,

     success:function(response){
         //do something
     }
     async:false
  });

方法三:url后面加上随机数(字母)或者当前时间戳

URL ?ran=" + Math.random();
URL ?timestamp=+ new Date().getTime();

方法四:在js后面加日期戳

虽然看起来和url加随机数一样,但原理不同,这种最好所有js文件采用公共引入文件的形式,可以省去一些麻烦

<script src="/res/js/plugins/metisMenu/jquery.metisMenu.js?${.now?string('yyyy-MM-dd')}"></script>

方法五:后端处理

posted on 2017-09-30 15:59 calamus 阅读(...) 评论(...) 编辑 收藏