Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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,当你在facebook上键入内容,然后单击“刷新”按钮或单击“转到上一页”按钮而不保存时,facebook会警告你“你没有保存信息,你确定吗?”有些类似的警告 如何检测这两个事件unonload在Chrome`中不起作用,facebook确实检测到了真正的刷新事件 window.onbeforeunload=function(){ return 'Are you sure you want to exit?'; } 请注意,这不适用于较旧版本的Opera。较新的版本使用WebKit而不

当你在facebook上键入内容,然后单击“刷新”按钮或单击“转到上一页”按钮而不保存时,facebook会警告你“你没有保存信息,你确定吗?”有些类似的警告

如何检测这两个事件
unonload
在Chrome`中不起作用,facebook确实检测到了真正的刷新事件

window.onbeforeunload=function(){
    return 'Are you sure you want to exit?';
}

请注意,这不适用于较旧版本的Opera。较新的版本使用WebKit而不是Presto,所以大家都很好。

看看这是否有助于基本内容:请不要使用此代码。这不是您的方式。当您只有一个事件要处理时,此事件处理程序没有错误。当然,正确的方法允许多个侦听器订阅同一事件。但在这种情况下,我们知道目标是什么,直接赋值在所有浏览器中都有效。继续,使用它,如果代码失败了,请告诉我。教与学也是如此。如果你教那些初学者使用这种方法,他们将继续在其他事件和情况下使用这种方法。我认为我们的辩论提出了两种观点,这对提出这个问题的人是有帮助的。我不喜欢有多少程序员简单地选择addEventListener,因为他们被告知它是“合适的”,而不去质疑为什么。“on”方法适用于所有浏览器,但一次只能允许一个处理程序。存在覆盖现有处理程序的风险。var oldevent=window.onbeforeunload;window.onbeforeunload=function(){domything();window.onbeforeunload=oldevent;}更好吗?