覆盖Window.onbeforeOnLoad消息并在Stay Page和Leave Page上执行一些操作?

时间:2016-11-18 14:56:30

标签: javascript jquery google-chrome firefox onbeforeunload

对于Firefox和Chrome,我试图覆盖浏览器为onbeforeOnLoad函数显示的默认消息。 以下是我发现的问题

  1. 即使我竭尽所能,我也无法覆盖这条消息。
  2. 我无法在Stay Page或Leave Page上捕获事件。我想执行一些操作,例如,如果它是Stay Page Do This,如果是Leave Page do This。它甚至没有显示该事件的警报消息。
  3. 请找到我一直在尝试的代码:

    window.onbeforeunload = function(e) 
    {
        alert(e);
        var myMessage = 'Hello.';
        e.returnValue = myMessage;
        return dialogText;
    
     };
    

    也试过这个:

    window.onbeforeunload = function() {
        return 'Hello!';
    }
    

1 个答案:

答案 0 :(得分:0)

请参阅other stack overflow post

答案就是你无法覆盖onbeforeUnLoad消息。

但您可以对邮件执行某些操作,例如:

    $(document).ready(function()
{

    $(window).on("beforeunload", windowBeforeUnload);

    $("#reeditbuttonjs").on("mouseenter", stopPopup)
            .on("mouseout", function() 
    {
        $(window).on("beforeunload", windowBeforeUnload);
    });
});


function stopPopup()
{
    $(window).off("beforeunload");
}


function windowBeforeUnload()
{
    return "You have unsaved data!";
}

此函数在运行一次时会关闭unbeforeunload函数。