頁面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>

則可以解決問題。

 


免責聲明!

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



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