如何在单击后退按钮时使页面过期?

新手上路,请多包涵

我在 jsp 页面中添加了以下元标记

<html>
<head>
<title>xyz</title>
<link type='text/css' rel="stylesheet" href="sdsds/sdsd"/>
<meta content="max-age=0" http-equiv="cache-control">
<meta content="no-store" http-equiv="cache-control">
<meta content="-1" http-equiv="expires">
<meta content="Tue, 01 Jan 1980 1:00:00 GMT" http-equiv="expires">
<meta content="no-cache" http-equiv="pragma">
</head>
<body><h1>jsdsdsds</h1>
<a href="abc">click me</a>
</body>
</html>

通过单击“单击我”链接导航后,我将打开一个新页面。当我单击后退按钮时它正在工作..我希望页面过期..注意:在两个jsp页面中我都添加了相同的元标记。我试着添加这个

<%@ page import="java.lang.*" %>
<%
// Set to expire far in the past.
response.setHeader("Expires", "Sat, 6 May 1971 12:00:00 GMT");
// Set standard HTTP/1.1 no-cache headers.
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
// Set IE extended HTTP/1.1 no-cache headers (use addHeader).
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
// Set standard HTTP/1.0 no-cache header.
response.setHeader("Pragma", "no-cache");
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>

在 HTML 上方和 Head 内部..我仍然可以看到后页。, 在 mozilla firefox 10.0 和 IE8 中测试有什么建议吗?

原文由 Rajesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 297
2 个回答

只要不涉及会话,您就不能在浏览器的后退按钮上使页面过期。它用于许多用户进行的页面后退浏览,因此这取决于您希望用户如何浏览您的站点。您实际上需要处理浏览器的后退按钮。有几种方法可以做到这一点。突出的一个是在 javascript 中使用此代码:`

 window.history.forward();

` 但它会将您的返回请求转发到历史记录中的当前页面对我有用的是:

 <script type="text/javascript">
function noBack(){
            location.replace(logouturl);
            window.location="logouturl";
}

HTML

 <input type="button" value="SignOut" onclick="noBack()" align="middle">

原文由 DarkHorse 发布,翻译遵循 CC BY-SA 3.0 许可协议

试试这个

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml" >
  <title>Untitled Page</title>
  <script type = "text/javascript" >
  function changeHashOnLoad() {
 window.location.href += "#";
 setTimeout("changeHashAgain()", "50");
 }

function changeHashAgain() {
window.location.href += "1";
}

var storedHash = window.location.hash;
 window.setInterval(function () {
 if (window.location.hash != storedHash) {
     window.location.hash = storedHash;
}
}, 50);

</script>
 </head>
 <body onload="changeHashOnLoad(); ">
  Try to hit back!
 </body>
 </html>`

原文由 zafus_coder 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题