<a href="#" οnclick="javascript:history.go(-1)">返回</a> ----------------------------- <input type="button" name="back" value="返回" οnclick="javascript:history.go(-1)"> --------------------------------- onClick="javascript:history.back();return false;" ----------------------------------- 火狐,Firefox中必须添加return false; οnclick="javascript:history.go(-1);return false;" |
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Expires = -1;
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control", "no-cache");
Response.CacheControl = "no-cache";
Response.Cache.SetNoStore();
禁止缓存
在我找到的许多方案中,其中有一种建议禁止页面缓存。具体是使用服务器端脚本,如下所示:
Response.Buffer = True ;
Response.ExpiresAbsolute = Now() - 1;
Response.Expires = 0 ;
Response.CacheControl = "no-cache";
这种方法非常有效!它强制浏览器重新访问服务器下载页面,而不是从缓存读取页面。使用这种方法时,编程者的主要任务是创建一个会话级的变量,通过这个变量确定用户是否仍旧可以查看那个不适合通过后退按钮访问的页面。由于浏览器不再缓存这个页面,当用户点击后退按钮时浏览器将重新下载该页面,此时程序就可以检查那个会话变量,看看是否应该允许用户打开这个页面。
例如,假设我们有如下表单:
<%
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
If Len(Session("FirstTimeToPage")) > 0 then
"用户已经访问过当前页面,现在是再次返回访问。
"清除会话变量,将用户重定向到登录页面。
Session("FirstTimeToPage") = ""
Response.Redirect "/Bar.asp"
Response.End
End If
"如果程序运行到这里,说明用户能够查看当前页面
"以下开始创建表单
%>
<form method=post action="SomePage.asp">
<input type=submit>
二: <html>
<head>
<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
</head>
三:
<script language="javascript">
<!--
javascript:window.history.forward(1);
//-->
</script>
四:
<A HREF="PageName.htm" οnclick="javascript:location.replace(this.href); event.returnvalue=false; ">