1.在jsp中加入頭
<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)})緩存
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>
則可以解決問題。