本文介绍了消防onbeforeunload确认外部网站仅警报的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用window.onbeforeunload方法,如果用户离开网站显示的确认信息。

I am using window.onbeforeunload method to show confirm message if user leaves website.

window.onbeforeunload = function(e) {
    return textMsg;
};

不过,我需要这个只有当用户导航到外部网站或关闭窗口,被解雇。

But I need this to be fired only if user navigates to external web-site or closes window.

所以,如何取消该确认消息同一个域内所有XHR和表单提交等?

So how to cancel this confirm message for all XHR inside same domain and form submit etc?

推荐答案

尝试(未经测试code):

Try (untested code):

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
});

这将prevent事件的触发,如果联系不 HTTP 启动(外部链接)和<形式> 提交。寻找在时刻窗口关闭的解决方案。

This will prevent the event from triggering if links do not start with http (external links) and for <form> submits. Looking for a solution for window closing at the moment.

这篇关于消防onbeforeunload确认外部网站仅警报的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-25 02:32