在关闭Application浏览器之前应该提示确认

时间:2012-02-07 07:13:32

标签: asp.net

我的要求很小......

如果用户提示注销或注销,那么他会尝试关闭浏览器IE点击“X”(IE或Firefox浏览器的右上角)然后我需要询问一个确认消息,例如“你确定要吗?关 ?” ... 我正在我的应用程序中使用母版页,我尝试了这个事件:我的母版页中的“window.onbeforeunload”工作正常,显示警报(确认)消息。但如果我按下浏览器上的按钮(IE或Firefox上的IE),那么它的解雇(但它不应该)有任何方法可以完全满足我的要求..我希望我已经清楚地解释了你...如果不是我告诉我........

我的意思是说..如果会话(“USerid”)是活跃的,或者它是否包含任何值,即。 会话( “USERID”)= “XXX” 在那一刻,如果用户试图关闭浏览(点击'X'/关闭按钮浏览器IE或Firefox),它应该提示一条消息“你确定要关闭吗?”..

2 个答案:

答案 0 :(得分:1)

它完全取决于设计步骤 - 但是关闭和后退按钮是相同的,关闭页面,所以也许不可能将它们全部放在一起。

要打开,关闭脚本,您可以制作一个简单的技巧。将它们放在文字中并打开或关闭它。

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

以及后面的代码。

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

答案 1 :(得分:1)

我最近对此进行了调查,并且似乎没有一种标准/一致的方式来执行此跨浏览器,因此您的后退按钮问题。

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

你可以看看这个问题: Prevent browser from closing in asp.net

或者在'onbeforeunload阻止浏览器关闭'上进行互联网搜索。

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

HTH