![](/img/trans.png)
[英]Is there any way in PHP to detect if request is coming from browser back button?
[英]Is there any way to override back button?
我想覆盖浏览器中的后退按钮,例如,如果用户从A.aspx转到B.aspx,则当他尝试从B.aspx返回时,应该转到Home.aspx而不是A.aspx。
有什么办法可以做到这一点? 使用ASP,C#,JavaScript还是jQuery都没关系。
您可以使用JQuery捕获浏览器返回(popstate)事件。
$(document).ready(function () {
if (window.history && window.history.pushState) {
window.history.pushState('forward', null, null);
$(window).on('popstate', function () {
window.location.href = 'http://stackoverflow.com';
});
}
});
跟踪用户的ASP.NET会话中的最后一页。 只要在C#中加载aspx页面,就可以在会话中设置“最后一页”来完成此操作。 加载ASP.NET A.aspx时,请在设置会话之前检查会话中的最后一页。 如果是B,请重定向到家。
在ASP.NET Web窗体中使用会话状态的指南: https : //msdn.microsoft.com/zh-cn/library/ms178581.aspx
我没有找到阻止它的解决方案,但是您可以检测到它,并将其发送回Java来源。
将此放置在您不希望他们回来的页面中
<script type="text/javascript">
function preventBack() { window.history.forward(); }
setTimeout("preventBack()", 0);
window.onunload = function () { null };
</script>
像某些MV *框架一样,(在单页应用程序中)它们使用location.pushState
用于== IE10浏览器,并使用window.onhashchange
来监听其他哈希变化。
因此,您可以通过侦听哈希更改来侦听“后退”按钮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.