Beforeunload无法将用户重定向到另一个页面,如何在尝试关闭窗口/选项卡时将用户重定向到另一个页面/ URL?

时间:2013-07-19 13:14:51

标签: javascript jquery events

我的以下代码无法将用户重定向到其他页面:

$(window).on('beforeunload',function(){
                        window.location.href="http://www.google.com;
                    }) ;

我希望用户在尝试关闭标签时重定向到其他页面。 实现这一目标的替代方法和适当方法是什么?

2 个答案:

答案 0 :(得分:2)

* 不要这样做 *

但是有可能在用户允许的情况下;你可以做到这样的事情(花了一些时间找到一个框架中很开心的网站)

window.onbeforeunload = function () {
    window.setTimeout(function () { // escape function context
        window.location = 'http://bbc.co.uk';
    }, 0);
    window.onbeforeunload = null;   // necessary to prevent infinite loop
                                    // that kills your browser
    return 'Press "Stay On Page" to go to BBC website!';
        // pressing leave will still leave, but the GET may be fired first anyway
}

Demo

答案 1 :(得分:1)

我认为这不可能。

在这次活动中你可以做些事情,但由于当天的垃圾邮件发送者而受到严重限制。他们曾经在窗口状态栏中显示动画文本,这会使链接href变得模糊,所以当你试图离开时,你会点击盲目并打开大量的窗户,以便你基本上被困在网站上。

这就是这样一个问题,据我所知,这是Firefox首次推出时首当其冲的“功能”之一。

能够乞求他们留在一个对话框中,但是当人们把它作为官方系统信息并欺骗人们时,这被滥用了。

现在大多数浏览器都允许您请求“留在页面/离开页面”对话框,但是不要让您对措辞有任何控制权。

以下是一些列出您的选项的文档: