暂停用户退出页面

时间:2013-06-25 00:34:53

标签: javascript jquery

使用JavaScript(和/或jQuery),是否可以暂停用户退出页面一段时间而不显示警告/确认?

(假设用户点击不同的页面或关闭窗口,计时器应该启动三秒[在此期间发生的事情],然后加载下一页或关闭窗口。)

3 个答案:

答案 0 :(得分:2)

,在现代浏览器中无法实现。

(而且,想想如果每个弹出窗口都会那么烦人的话)

您最接近的方法是使用onbeforeunload显示对话框,但您要求避免这种情况。

但你为什么要那样做?

值得一提的是,这是一个神奇的时刻。您可能希望向服务器报告某些内容,但由于用户正在离开,您突然无法报告。这是通常被认为是错误做法的事情之一,例如同步ajax可能有意义。

答案 1 :(得分:0)

没有。这是不可能的。最好你可以实现onbeforeunload处理程序,但此时你的选择非常有限(你当然不能'等待3秒')。

浏览器会尝试保护用户,因此这是浏览器强制执行的行为,并且他们有动力强制执行它。

答案 2 :(得分:0)

这适用于chrome和firefox:

window.onbeforeunload = function() {
    var now = new Date();
    while( new Date() - now < 3000 );
};

它也会耗尽电池,所以你一石二鸟。