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


在系統中遇到頁面中的圖像已經修改,數據庫的數據也更新成了最新的數據,但在另一個模型的頁面查詢此圖像時,依然是未修改的狀態,經確認是頁面的緩存沒有清理,清理的方法是:

在html文件中,增加清理緩存的內容:

<head>

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

</head>

<body>........</body>;

其他的清理緩存的方法:

在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();">

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
————————————————
版權聲明:本文為CSDN博主「dreaming317」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/dreaming317/article/details/104268185

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM