例子,js設定與取得快取。
-
- //設定快取,取得設定的緩存,鍵值對形式, name value
- localStorage.getItem("key"); //取得鍵的值
- localStorage.setItem("key", 1); //設定鍵的值
複製程式碼
解決js快取位址問題
js實作不緩存
不快取js的方法
-
- <script> <li>document.write("<s"+"cript type='text/javascript' src='/js/test. js?"+Math.random()+"'>"+"ipt>"); <li></script>
複製程式碼
其他的類似,只需在地址後面加上+Math.random()
註:因為Math.random() 只能在Javascript 下起作用,故只能透過Javascript的呼叫才可以
若上面改為
則無法實作不快取
js檔案不快取
每次連接的位址變化,利用js隨機數
-
- document.write("
"+"ipt>");
複製程式碼
停用頁面快取的幾種方法(靜態和動態)
1.在Asp頁面首部 加入 以下是引用片段:
-
- Response.Buffer = True
- Response.ExpiresAbsolute = Now() - 1
- Response.Expires = 0 Reache. "no-cache"
- Response.AddHeader "Pragma", "No-Cache"
複製程式碼
2、在html程式碼中加入
3、在重新呼叫原始頁面的時候在傳一個參數Href="****.asp?random()"
前兩個方法據說有時會失效,而第三種則是在跳轉時傳遞一個隨機的參數!
因為aspx的快取是與參數相關的,如果參數不同就不會使用緩存,而會重新產生頁面,每次都傳遞一個隨機的參數就可以避免使用快取。
這個僅適用於asp&asp.net 。
4、在jsp頁面實現無快取:
- response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
- response.setHeader("Pragu", "no-cache"); //HTTP 1.0
- response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
-
-
複製程式碼
複製程式碼 這些程式碼加在 中間具體如下
-
-
-
-
-
- response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
- response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server %>
複製程式碼5、window.location.replace("WebForm1.aspx");
參數就是要覆寫的頁面,replace的原理就是用目前頁面取代掉replace參數指定的頁面。
這樣可以防止使用者點選back鍵。使用的是javascript腳本,舉例如下:
a.html
複製程式碼
複製程式碼 |