Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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_Angularjs_Onbeforeunload - Fatal编程技术网

Javascript 卸载前点火确认警报仅适用于外部站点

Javascript 卸载前点火确认警报仅适用于外部站点,javascript,angularjs,onbeforeunload,Javascript,Angularjs,Onbeforeunload,我正在使用window.onbeforeunload方法显示确认消息,如果用户离开网站 window.onbeforeunload = function(e) { return textMsg; }; 但只有当用户导航到外部网站或关闭窗口时,我才需要触发此命令 那么,如何取消同一域内所有XHR的确认消息以及表单提交等 Try(未测试的代码): 如果链接不是以http(外部链接)开头,并且对于提交,这将阻止事件触发。正在寻找关闭窗口的解决方案。使用window.location如何?它不

我正在使用window.onbeforeunload方法显示确认消息,如果用户离开网站

window.onbeforeunload = function(e) {
    return textMsg;
};
但只有当用户导航到外部网站或关闭窗口时,我才需要触发此命令

那么,如何取消同一域内所有XHR的确认消息以及表单提交等

Try(未测试的代码):


如果链接不是以
http
(外部链接)开头,并且对于
提交,这将阻止事件触发。正在寻找关闭窗口的解决方案。

使用window.location如何?它不应该出现太多。你会怎么做?我使用链接和window.location重定向到响应url。如果我选择elements byTagName,则href方法返回完整的url和Http,解决方案有效。但有什么方法可以取消页面刷新时弹出的窗口吗?谢谢,解决方案很有帮助。最后,我们跳过了检测浏览器刷新可能的重复
window.onbeforeunload = function(e) {
    return textMsg;
};

$('a:not([href^="http"])').on('click', function() {
    window.onbeforeunload = null; // prevent message
});

$('form').on('submit', function() {
    window.onbeforeunload = null; // prevent message
});