关闭并刷新事件触发时跳转到注销页面

时间:2019-03-15 08:44:23

标签: javascript jquery html

问候所有

我在here中找到了这行代码。如果函数触发,我希望它跳回到注销页面,而不是返回leave_message。我尝试插入这行window.location.pathname = "logout.php";。但是它不起作用。有人能帮我一下吗。谢谢。

//window.location.pathname = "logout.php";

var validNavigation = false;

function wireUpEvents() {

    var dont_confirm_leave = 0; 
    var leave_message = 'You sure you want to leave?'


    function goodbye(e) {
        if (!validNavigation) {
            if (dont_confirm_leave!==1) {
                if(!e) e = window.event;
                //e.cancelBubble is supported by IE - this will kill the bubbling process.
                e.cancelBubble = true;
                e.returnValue = leave_message;
                //e.stopPropagation works in Firefox.
                if (e.stopPropagation) {
                e.stopPropagation();
                e.preventDefault();
                }
                //return works for Chrome and Safari
                return window.location.pathname = "logout.php";
                // return leave_message;
            }
        }
    }
    window.onbeforeunload=goodbye;

    // Attach the event keypress to exclude the F5 refresh
    $(document).bind('keypress', function(e) {
        if (e.keyCode == 116){
        validNavigation = true;
        }
    });

    // Attach the event click for all links in the page
    $("a").bind("click", function() {
        validNavigation = true;
    });

    // Attach the event submit for all forms in the page
    $("form").bind("submit", function() {
        validNavigation = true;
    });

    // Attach the event click for all inputs in the page
    $("input[type=submit]").bind("click", function() {
        validNavigation = true;
    });

}

// Wire up the events as soon as the DOM tree is ready
$(document).ready(function() {
    wireUpEvents();
});

1 个答案:

答案 0 :(得分:0)

使用window.location.href代替window.location.pathname