我有一个场景,如果用户尝试关闭当前浏览器窗口,则应显示一个确认框。如果他确认关闭窗口,那么此窗口应该关闭并用不同的URL打开新窗口。如果用户确认关闭当前窗口,请在当前窗口关闭时打开一个新的浏览器窗口
我试过使用下面的代码,我可以显示确认框,但我无法弄清楚如何在用户确认关闭当前窗口时打开新窗口。
var preventUnloadPrompt;
$('a').live('click', function() { preventUnloadPrompt = true; });
$('form').live('submit', function() { preventUnloadPrompt = true; });
$(window).bind("beforeunload", function() {
if (preventUnloadPrompt)
{ return; }
else {
return confirm("quit??");
}
});
任何类型的帮助表示赞赏。 谢谢。
这是不可能 – Esailija 2012-07-28 15:52:53
理论上应该可以使用'window.open',但这不是一个好主意,因为大多数浏览器可能会阻止在'unload'事件中调用'window.open'。你需要做什么?当然,如果用户试图关闭标签,那么他们想要离开该网站,而不是打开一个新的标签......? – ClarkeyBoy 2012-07-28 15:54:21
实际上有一组问题被逐个问到用户。如果用户关闭了此窗口,我想在某个不同的页面上执行代码,以此来标记此用户尝试了一组问题,从而阻止他再次尝试这个问题。通常情况下,这发生在用户完成所有问题时。 – 2012-07-28 16:00:31