2013-03-01 130 views
1

我正在構建一個MMO,其中有一個教程。Javascript如何:隱藏瀏覽器彈出窗口onBeforeUnload並顯示自定義彈出窗口

當用戶試圖瀏覽本教程離開或關閉標籤/瀏覽器,而在本教程中,我需要證明它有一個選項,爲什麼人退出教程自定義彈出。

我熟悉onbeforeunload事件,但我的要求是顯示自定義彈出窗口而不是瀏覽器默認彈出窗口,因爲除了更改文本消息之外,無法自定義它。

有沒有什麼辦法可以隱藏瀏覽器彈出窗口並顯示我的自定義彈出來代替。

+0

哪裏瀏覽器彈出的如果不是編程JavaScript警告來了嗎? – 2013-03-01 07:59:20

+0

'onbeforeunload'調用browsre彈出 這樣 'window.onbeforeunload =功能(事件) \t \t \t \t { \t \t \t \t \t VAR surveyText =「請花幾分鐘的時間,讓我們知道你爲什麼要點擊下面的「留在頁面上」按鈕退出教程。 \t \t \t \t \t回報surveyText; \t \t \t \t}' – 2013-03-01 08:02:53

回答

1

我真的建議你使用jQuery UI這一點。它會讓你的生活更輕鬆,並且在API中內置模態對話框。在這裏看到: http://jqueryui.com/dialog/#modal

OK,我說的是完全錯誤的之前。一定累了。

您不能覆蓋onbeforeunload的,因爲它在DOM觸發的方式。這是一個很好的解釋它。

How can I override the OnBeforeUnload dialog and replace it with my own?

+0

我不認爲這將適用於瀏覽器events.I相當肯定,這將適用於其他'javascript事件'就像點擊頁面上的鏈接等,但你確定這將適用於「瀏覽器事件」。如果你可以共享一個工作演示或者JSFiddle,那就太好了。 – 2013-03-01 08:12:48

+0

我在說的是,你可以打開任何你想在模式對話框中顯示的內容,並禁用X秒的按鈕。 – 2013-03-01 08:24:00

+0

我不知道我是否關注你。你將如何禁用關閉按鈕。 – 2013-03-01 09:38:14