2010-07-20 159 views
1

我正在使用asp.net 2.0与c#。防止浏览器在asp.net中关闭

我想弹出一个用户尝试关闭浏览器时显示,如果用户点击“否”[即他不希望浏览器被关闭],那么它会阻止浏览器关闭。 请帮忙。 谢谢

+1

这是不可能的,如果是这样,这将是一件可怕的粗鲁事情。 – Pointy 2010-07-20 13:56:35

+1

有几点1 /有可能(请参阅下面的各种其他答案)2 /不一定比让用户在没有警告的情况下丢失数据更为粗鲁。 3 /这不一定是一个asp.net问题,因为它完全涉及到浏览器,并且可以轻松地应用到使用Java,PHP等编写的应用程序。 – belugabob 2010-07-20 14:13:33

回答

2

他们所使用的代码是

window.onbeforeunload=function() { 
    if (somereasonorother) return "You did not save your stuff" 
} 
+0

PS:旧的但可能仍然对您有用:http:///www.4guysfromrolla.com/articles/101304-1.aspx – mplungjan 2010-07-20 14:09:52

+0

哇! :-) 感谢一吨。 – Rahul 2010-07-20 14:22:08

+0

不客气。请注意,其他评论也是有效的 - 如果用户想离开他们应该被允许 - 如果你的应用程序建立在需要知道他们何时离开或关闭浏览器,你可能会遇到麻烦:) – mplungjan 2010-07-20 14:51:05

1

尖尖的,这是完全可能的,并且由于完全合理的原因,它是由许多网页完成的。

尝试这样:

function areYouSure() { 
    return "Are you sure you want to leave this page?"; 
} 
window.onbeforeunload = areYouSure; 
0

你可以试着给自己附加到onbeforeunload事件:

<body onbeforeunload="ConfirmClose();"> 

但我不得不提到它不适用于所有浏览器。在我关闭一个窗口之后唯一引发的事情是Chrome,Firefox和Internet Explorer; Opera忽略了JavaScript方法中的代码。

这主要是因为某些浏览器仅在您试图通过访问另一个页面而不是当您关闭当前窗口/选项卡来离开当前页面时触发onbeforeunload事件。

+0

FF? https://developer.mozilla.org/en/DOM/window.onbeforeunload – mplungjan 2010-07-20 14:10:56

+0

我似乎在旧版本的Firefox上试过这个版本;它适用于当前的Firefox版本。我现在更新了我的答案;感谢提示 – 2010-07-20 16:53:39