Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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 onBeforeUnload在与DOM进行任何交互之前_Javascript_Onbeforeunload_Dom Events - Fatal编程技术网

Javascript onBeforeUnload在与DOM进行任何交互之前

Javascript onBeforeUnload在与DOM进行任何交互之前,javascript,onbeforeunload,dom-events,Javascript,Onbeforeunload,Dom Events,我有一个带有卸载侦听器的页面,非常简单,如: $(window).on("beforeunload", function(e){ if (someCondition) return null; }); 加载后,如果我单击页面上的任何位置,然后尝试关闭选项卡,我将收到警告 但是,如果在与DOM进行任何交互之前关闭选项卡,则不会收到警告 我在返回null上放置了一个断点显示它被调用,但随后被浏览器忽略(Mac OS 10.13.6上的Chrome 67.0.3396.99) 这有什么原因吗

我有一个带有卸载侦听器的页面,非常简单,如:

$(window).on("beforeunload", function(e){
    if (someCondition) return null;
});
加载后,如果我单击页面上的任何位置,然后尝试关闭选项卡,我将收到警告

但是,如果在与DOM进行任何交互之前关闭选项卡,则不会收到警告

我在
返回null上放置了一个断点显示它被调用,但随后被浏览器忽略(Mac OS 10.13.6上的Chrome 67.0.3396.99)

这有什么原因吗?有办法吗


提前感谢您的帮助:)

这主要是为了警告用户不要留下未保存输入的页面。。。如果您根本不与DOM交互,那么此时您可能也没有在页面上进行太多的用户输入,对吗?@CBroe上下文是:用户保存表单,该表单包含在服务器端检测到的错误,我重定向到显示错误消息的页面(解释没有保存更改)再看看表格。我不希望人们不小心关闭了标签,以为如果他们没有仔细阅读邮件,他们的更改就被保存了。我猜,这可能是为了防止阴暗的“广告商”试图让我停留在一个我根本不感兴趣的页面上。//也许您可以通过AJAX执行有效性检查,然后我将停留在一个我已经交互过的页面上,所以这个限制应该不再是一个问题…?Thant有道理是的。非常感谢@CBroe。