我如何才能使onbeforeunload全局取消?

时间:2015-02-09 09:56:10

标签: javascript jquery

当用户离开我的网站时,我需要在任何地方使用onbeforeunload。

var leave_message = 'Leave message';
var validNavigation;
function goodbye(e) {
    if (!validNavigation) {
            if (!e) e = window.event;
            e.cancelBubble = true;
            e.returnValue = leave_message;
            if (e.stopPropagation) {
                e.stopPropagation();
                e.preventDefault();
            }
            return leave_message;
    }
}

$("body").on('click', 'a', function () {
    validNavigation = true;
});

window.onbeforeunload = goodbye;

但是我的javascript中有很多地方,我使用window.location将用户重定向到内部页面。我厌倦了粘贴validNavigation = true;在这些代码部分。

请告诉我如何在全球范围内设置它?

0 个答案:

没有答案