1. 程式人生 > >Web專案中,清理瀏覽器快取的幾種方式

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提交表單時的請求方法上新增控制快取的方法
    //如果是form表單提交,則在表單上新增一個屬性
    <body onLoad="javascript:document.creatForm.reset();">
    
    //如果是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
        });
        
        //或者新增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