<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
或者加入
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="content-type" content="no-cache, must-revalidate" />
<meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT"/>
清除臨時緩存
<body onLoad="javascript:document.yourFormName.reset()">
2.在action,使用如下聲明
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
3.隨機參數document.write("<script src='test.js?rnd="+Math.random()+"'></s"+"cript>")。
4.jquery ajax清除瀏覽器緩存的兩種方法:
1.通過$.ajaxSetup 設置屬性cache:false,讓ajax不調用瀏覽的緩存.
jQuery.ajaxSetup ({cache:false})
2.可以在ajax的url後加上隨機串來避免瀏覽緩存,如$.ajax({url:'test.php?'+parseInt(Math.random()*100000)})緩存
瀏覽器爲了提高用戶訪問同一頁面的速度,會對頁面數據進行緩存。當url請求地址不變時,有時候會導致瀏覽器不發送請求,直接從緩存中讀取之前的數據。如果數據改變了,而沒加隨機數,讀取的數據會跟之前一樣。加上隨機數,就是欺騙瀏覽器url改變了,會每次都向服務器發送請求而不去讀緩存.
5.有時候以上的方法清除緩存只清除一次,第二次就沒有效果了。
所以,本人認爲最佳的方法是,在調試的過程中,禁掉IE緩存,這樣調試就OK了。但是,用戶並不會禁掉呀,這不是出問題了嗎?
用戶會不會我們不去管,如果寫好了js代碼的話,我們在js文件後面加入一個版本號就好了。比如:
<script type="text/javascript" src="<%=baseURL%>/xhd_js/select-ajax.js?1.0"></script>
但是,如果開發者重新修改了js文件用戶怎麼辦?
修改之後確定使用之後,再加上
<script type="text/javascript" src="<%=baseURL%>/xhd_js/select-ajax.js?2.0"></script>
則可以解決問題。