【发布时间】:2014-06-14 23:05:17
【问题描述】:
我正在研究 JSP。我知道有很多关于这个主题的帖子,但没有什么对我有用。我有一个登录页面,它指向一个欢迎页面。当用户单击注销时会话无效,然后被重定向到登录页面。但是,如果用户单击浏览器的返回按钮,他将再次被带到欢迎页面,尽管如果他按下任何其他按钮或刷新页面,他将被带到登录页面,因为会话已过期。但是我不希望用户在注销后通过单击浏览器的后退按钮来访问欢迎页面。我尝试使用以下内容:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
但它不起作用。
我尝试使用:
window.history.forward(1);
它工作正常,但它会导致另一个问题。如果用户登录并被带到欢迎页面。然后用户按下一个按钮让我们说“显示用户详细信息”,用户被带到“显示用户详细信息”页面。现在如果用户单击返回按钮返回到欢迎页面。由于欢迎页面上的window.history.forward(1),他停留在相同的“显示用户详细信息”页面上。
如果会话有效,我希望用户应该能够使用浏览器的后退按钮。如果会话无效,他应该无法使用浏览器的后退按钮。
【问题讨论】:
-
没关系,我明白了..!!
-
$().ready(function() { if(document.referrer != 'localhost:8181/'){ history.pushState(null, null, 'login'); window.addEventListener('popstate ', function () { history.pushState(null, null, 'login'); }); } });
标签: javascript html jsp back-button