ASP技巧:禁用頁面緩存的五種方法
1、在Asp頁面首部<head>加入
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
2、在HtML代碼中加入
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>
3、在重新調(diào)用原頁面的時候在給頁面?zhèn)饕粋參數(shù) Href="****.asp?random()"
前兩個方法據(jù)說有時會失效,而第三種則是在跳轉(zhuǎn)時傳一個隨機(jī)的參數(shù)! 因?yàn)閍spx的緩存是與參數(shù)相關(guān)的,如果參數(shù)不同不會使用緩存,而會重新生成頁面,每次都傳一個隨機(jī)的參數(shù)可以避免使用緩存。這個僅適用于asp&asp.net
4、在jsp頁面中可使用如下代碼實(shí)現(xiàn)無緩存:
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
這些代碼加在<head> </head>中間具體如下
<head>
<%
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
%>
</head>
5、window.location.replace("WebForm1.aspx");
參數(shù)是你要覆蓋的頁面,replace的原理是用當(dāng)前頁面替換掉replace參數(shù)指定的頁面。
這樣可以防止用戶點(diǎn)擊back鍵。使用的是javascript腳本,舉例如下:
a.html
<html>
<head>
<title>a</title>
<script language="javascript">
function jump(){
window.location.replace("b.html");
}
</script>
</head>
<body>
<a href="javascript:jump()">b</a>
</body>
</html>
b.html
<html>
<head>
<title>b</title>
<script language="javascript">
function jump(){
window.location.replace("a.html");
}
</script>
</head>
<body>
<a href="javascript:jump()">a</a>
</body>
</html>
前4種只是清空了cache,即存儲在Temporary Internet Files文件夾中的臨時文件,而第五種則是使用跳轉(zhuǎn)頁面文件替換當(dāng)前頁面文件,并沒有清空cache,也是說Temporary Internet Files產(chǎn)生了相關(guān)的臨時文件,兩者搭配使用真是清空緩存,必備良藥。正好我這里有了記錄,所以常來看看哦。