试图弄清楚如何在浏览器窗口退出时使模态弹出。我知道如何做一个警告框,但我想让用户在退出时回答问卷,而不是基本的“你确定要离开”警告框。窗口退出时的模态弹出
回答
window.onbeforeunload = function() {
return 'Your content has not been properly saved yet!';
};
这将使浏览器中显示这样一个确认对话框:
http://f.cl.ly/items/2L0t1k0d2U0p0Z0z1d2t/Screen%20shot%202012-02-14%20at%206.09.58%20PM.png
正如你所看到的,由该函数返回的字符串显示在盒子里。
你不能。阻止窗口关闭的唯一方法是使用JS确认(或警报)。如果你只是弹出一个模态的页面内,窗口仍然会关闭,你永远不会看到它。您最好的选择是打开JS警报,然后将页面重定向到问题。虽然请注意,这是令人难以置信的烦人的用户。
好的,所以不得不使用警示框,然后让他们留下假期,如果他们离开了,那么它会弹出一个模式? – THEDert 2012-02-14 17:08:55
如果他们离开,他们走了,所以不。 – MetalFrog 2012-02-14 17:09:39
您必须绑定到文档的“卸载”事件。 – bfavaretto 2012-02-14 17:10:01
虽然它并不总是建议穿上退出代码,你可以做这样的事情:
<body onUnload="javascript:openDialog()">
或
$(document).bind('unload', openDialog);
然后:
function openDialog(e) {
e.preventDefault();
$("#yourQuestionnaire").dialog('open');
}
但一般避免绑定到onUnload
事件是一种很好的做法,因为它的fi环在所有浏览器和情况下都不可靠。
UPDATE
文档显示它:
$(window).unload(function() {
alert('Handler for .unload() called.');
});
通过任何网页#1的Firefox/Firebug的控制台应用时,这对我的作品。
我有类似的要求,我想使用漂亮的HTML消息,而不是默认的js消息。花了一些时间后,我终于找到了一个办法。我已经使用jQuery Colorbox模式这是非常有用的任何模式的要求,而不只是在这里。
基本上你可以使用mousemove
事件,并发现如果Y坐标(e.clientY
)小于5。因此,这将每次当鼠标靠近地址栏(用户键入新的URL或试图关闭窗口)时被解雇。
jQuery(document).ready(function() {
jQuery(document).mousemove(function(e) {
if (e.clientY <= 5) {
jQuery.colorbox({initialHeight: 250, initialWidth: 250, html:'<h2>any custom HTML here</h2><br/><img src="nice-img" />'});
}
});
});
我发现很多使用e.pageY
的例子,但是请注意,只有当用户没有向下滚动时才会触发它。所以如果你向下滚动5像素,e.pageY
将不起作用,但e.clientY
将工作。 e.pageY
给出了抵消,而e.clientY
给出绝对坐标。很重要!
- 1. 退出弹出式窗口与弹出式窗口
- 2. 弹出窗口:当弹出弹出窗口时关闭弹出
- 3. 窗口退出时的模式弹出 - 重置一次
- 4. 在其他模态弹出窗口内创建模态弹出
- 5. Android弹出窗口在弹出窗口外弹出时解雇
- 6. 退出弹出窗口不工作
- 7. 弹出窗口然后退出
- 8. iOS 8 - 弹出窗口中的模态
- 9. 当我退出tmux窗口中的prossess时,tmux窗口退出
- 10. 用jQuery编写模态弹出窗口
- 11. 模态弹出窗口 - 可用性
- 12. 模态弹出窗口失败 - CSHARP WPF
- 13. janrain搞弹出到模态窗口
- 14. 改变弹出到模态窗口
- 15. 显示一个模态弹出窗口
- 16. 防止WinForms MessageBox.Show模态弹出窗口
- 17. 使弹出窗口背景透明而不会退出弹出窗口
- 18. 使用角度js的模态弹出窗口中的模态弹出
- 19. 弹出窗口和一个鼠标退出窗口
- 20. jquery动态弹出窗口
- 21. Html模式弹出窗口
- 22. 我的模态窗口没有显示为弹出窗口
- 23. 类似于模态窗口的弹出窗口
- 24. 未指定大小时弹出窗口弹出窗口
- 25. 当弹出窗口时Android弹出窗口消失
- 26. 退出元素时立即关闭引导弹出窗口?
- 27. 防止在退出到弹出窗口时调用mouseExited
- 28. 如何在退出视图时创建弹出窗口?
- 29. 弹出窗口
- 30. 如何在弹出的其他模态弹出窗口中显示模态弹出
无论如何编辑“留在这个页面”和“离开这个页面”文本? – THEDert 2012-02-14 17:23:07
不,我不这么认为。 – 2012-02-14 17:24:29
啊,这很糟糕....感谢您的解决方案! – THEDert 2012-02-14 17:27:45