Web项目中,常用的几种清理浏览器缓存的方式

霸气de小男生 提交于 2020-02-11 21:41:05

在B/S架构的项目中,访问web项目时,往往需要清理浏览器的缓存数据,js ,css 等等。


方法1:

在引用的js ,css ,图片,等文件的url 处加一个变量,生成一个随机数字

<script type="text/javascript" src="<%=request.getContextPath()%>/test/common/jquery.js?r="+Math.random()></srcipt>

方法2:

在jsp或html页面中,meta标签中添加属性值

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

方法3:

在js提交表单时的请求方法上添加控制缓存的方法

  1. 如果是form表单提交,则在表单上添加一个属性

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

     2.如果是jquery的ajax提交方式,则如下,添加before函数做处理

        $.ajax({
             url:'QueryUserList.do',
             dataType:'json',
             data:{},
             beforeSend :function(xmlHttp){ 
                xmlHttp.setRequestHeader("If-Modified-Since","0"); 
                xmlHttp.setRequestHeader("Cache-Control","no-cache");
             },

             success:function(response){
                 //操作
             }
             async:false
        });

       3.或者添加cache 属性 

        $.ajax({
             url:'QueryUserList.do',
             dataType:'json',
             data:{},
             cache:false, 
             ifModified :true ,
             success:function(response){
                 //操作
             }
             async:false
          });

方法4:

使用Crtl+F5  跳过缓存,请求新数据,支持部分浏览器

方法5:

创建一个windows环境的清理浏览器缓存的批处理文件(clearCache.bat),在打开浏览器之前运行一下清理缓存的批处理文件    
//调用的是Windows 自带的API函数,针对IE有效,代码如下:
@echo 现在清除Cookies
@Rundll32 InetCpl.cpl,ClearMyTracksByProcess 2
@echo 现在清除浏览历史
@Rundll32 InetCpl.cpl,ClearMyTracksByProcess 1
@echo 现在清除临时文件夹
@Rundll32 InetCpl.cpl,ClearMyTracksByProcess 8
@echo 现在清除保存的密码 
@Rundll32 InetCpl.cpl,ClearMyTracksByProcess 32 
@echo 现在清除表单数据 
@Rundll32 InetCpl.cpl,ClearMyTracksByProcess 16
@echo 清除以上所有项目
@Rundll32 InetCpl.cpl,ClearMyTracksByProcess 255

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!