Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 暂停用户退出页面_Javascript_Jquery - Fatal编程技术网

Javascript 暂停用户退出页面

Javascript 暂停用户退出页面,javascript,jquery,Javascript,Jquery,使用JavaScript(和/或jQuery),是否可以暂停用户退出页面一段时间,而不显示警报/确认 (假设用户单击其他页面或关闭窗口,计时器应启动三秒[在此期间发生某些事情],然后加载下一页或关闭窗口。)否。这是不可能的。充其量,您可以在卸载之前实现一个处理程序,但此时您的选项非常有限(您当然不能“等待3秒”) 浏览器会试图保护用户,所以这是浏览器强制执行的行为,他们有动机强制执行。不,这在现代浏览器中是不可能的 (此外,想想如果每个弹出窗口都这样做会有多烦人) 您所能做的最接近的事情是使用显

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


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

否。这是不可能的。充其量,您可以在卸载之前实现一个
处理程序,但此时您的选项非常有限(您当然不能“等待3秒”)


浏览器会试图保护用户,所以这是浏览器强制执行的行为,他们有动机强制执行。

,这在现代浏览器中是不可能的

(此外,想想如果每个弹出窗口都这样做会有多烦人)

您所能做的最接近的事情是使用显示对话框,但您要求避免这样做

但你为什么要这么做?
值得一提的是,这是一个神奇的时刻。您可能希望向服务器报告某些内容,但突然无法报告,因为用户正在离开。这是一种通常被认为是不好的做法,比如同步ajax可能会有意义。

这在chrome和firefox中有效:

window.onbeforeunload = function() {
    var now = new Date();
    while( new Date() - now < 3000 );
};
window.onbeforeunload=函数(){
var now=新日期();
而(新日期()-现在<3000);
};

它也会耗尽电池电量,所以你是一举两得。

@Bergi我添加了一个讽刺的转折点,不打算使用它,但你能解释一下为什么它会耗尽电池电量吗?因为它使用CPU,而不是正常等待