在关闭应用程序浏览器之前,应提示确认



我有一个小需求。。

如果用户强行注销或注销,然后他试图关闭浏览器IE点击"X"(IE或Firefox浏览器的右上角),那么我需要询问一条确认消息,比如"你确定要关闭吗?"。。。我在我的应用程序中使用母版页,我尝试了以下事件:"window.onbeforeunload"在我的母版页中运行良好,显示了一条警告(确认)消息。但如果我按下浏览器上的后退按钮(IE或Firefox上的IE),那么它也会被启动(但不应该),有任何方法可以完全满足我的要求。。我希望我已经把你解释清楚了。。。如果不是,请告诉我。。。。。。。。

我的意思是…如果会话("USerid")是活动的,或者它包含任何值,即。会话("USerid")="XXX"此时,如果用户试图关闭浏览(点击IE或Firefox中的"X"/关闭按钮浏览器),它应该提示一条消息"你确定要关闭吗?"。。

这都是关于设计步骤的,但关闭和返回按钮是相同的,关闭页面,所以可能不可能将它们全部放在一起。

打开,关闭你的脚本,你可以做一个简单的技巧。将它们放在文字中,打开或关闭它。

<asp:literal run="server" id="txtCloseAlert">
<script>
    ... you code here ....
</script>
</asp:literal>

以及代码隐藏。

txtCloseAlert.visible = !string.IsNullOrEmpty(Session("USerid"));

我最近对此进行了研究,似乎没有一种标准/一致的方法来实现跨浏览器,因此出现了后退按钮问题。

在IE上,至少可以将一个事件对象作为参数传递给onbeforeunload方法,您可以使用该方法来获取鼠标位置,但在FireFox中则没有,您需要其他方法来确定是否需要确认。很有可能你可以通过其他方式获得鼠标的位置,因为我还没有研究过。重点是,如果你的鼠标不在你的表单上,你可能想要一个确认。

你可以看看这个SO问题:阻止浏览器在asp.net 中关闭

或者在"onbeforeunload防止浏览器关闭"上进行Internet搜索。

在您的情况下,可以对服务器进行同步ajax调用以进行测试。

HTH

最新更新