繁体   English   中英

Asp.Net 禁用后退按钮

[英]Asp.Net Disable Back button

我有 3 页,从第一页到第二页和第二页到第三页,我正在发送一些信息。我想要做的是,如果我在第二页,我希望用户不要 go 再次回到第一页或在第三位用户可以 go到第 1 页或第 2 页。

有没有办法禁用浏览器上的后退按钮?或者有没有办法在用户按下后退按钮时显示错误?

有什么建议么?

尝试使用以下代码使用javascript禁用浏览器后退按钮。

<script type="text/javascript" language="javascript">
function DisableBackButton() {
  window.history.forward()
}
DisableBackButton();
window.onload = DisableBackButton;
window.onpageshow = function(evt) { if (evt.persisted) DisableBackButton() }
window.onunload = function() { void (0) }
</script>

这是我的Master Page旧代码,距我提出此文件已有两年的时间了,如果要更新,请选择。

    Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
       MyBase.OnPreRender(e)
       Dim disAbleBackButton As String
       disAbleBackButton = "<script language='javascript'>" & Environment.NewLine
       disAbleBackButton &= "function noBack(){window.history.forward()}" & Environment.NewLine
       disAbleBackButton &= "noBack();" & Environment.NewLine
       disAbleBackButton &= "window.onload=noBack;" & Environment.NewLine
       disAbleBackButton &= "window.onpageshow=function(evt){if(evt.persisted)noBack()}" & Environment.NewLine
       disAbleBackButton &= "window.onunload=function(){void(0)}" & Environment.NewLine
       disAbleBackButton &= "</script>"
       Page.ClientScript.RegisterClientScriptBlock(Me.Page.GetType(), "backhistory", disAbleBackButton)
  End Sub

尝试下面的代码来阻止浏览器上的后退和前进按钮。

window.history.pushState(null, "", window.location.href);  
window.history.back();
window.history.forward();      
window.onpopstate = function() {
    window.history.pushState(null, "", window.location.href);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM