2013-03-01 83 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