天天看點

頁面緩存js問題解決

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>

則可以解決問題。