3

我的以下代码无法将用户重定向到另一个页面:

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

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

4

2 回答 2

3

*不要这样做*

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

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
}

演示

于 2013-07-19T13:35:56.073 回答
1

我不认为这是可能的。

在这种情况下,您可以做一些事情,但由于当时的垃圾邮件发送者,这些事情受到了严重限制。他们曾经在窗口状态栏中有动画文本,这会掩盖链接href,所以当你试图离开时,你会盲目地点击并打开大量的窗口,这样你就基本上被困在了网站上。

这一定是一个如此大的问题,据我所知,它是 Firefox 在首次启动时吹嘘解决的“功能”之一。

它被淡化为能够乞求他们留在对话框中,但随后被滥用,因为人们将其措辞像官方系统消息并欺骗了人们。

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

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

于 2013-07-19T13:38:25.203 回答