Web項目中,常用的幾種清理瀏覽器緩存的方式

在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章