2010-07-20 198 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