Javascript 是否可以捕获用户';使用onbeforeunload确认时的答案是什么?

Javascript 是否可以捕获用户';使用onbeforeunload确认时的答案是什么?,javascript,jquery,onbeforeunload,Javascript,Jquery,Onbeforeunload,我需要提醒用户,他们在离开页面时会丢失信息。使用onbeforeunload事件很容易做到这一点。我的问题是,如果用户决定离开,我想采取一些行动 下面是一个示例(我使用jquery,因为它已经加载): 我想做的事情是这样的(我知道,这段代码不起作用,它只是一个示例来说明我正在尝试做的事情): 我不知道我在这里要做的是不是可能。。。谷歌搜索没有给我任何提示,所以我转向我最喜欢的专家组 你知道我怎么做吗 谢谢 离开页面时,事件beforeunload和unload按该顺序执行。当然,如果before

我需要提醒用户,他们在离开页面时会丢失信息。使用onbeforeunload事件很容易做到这一点。我的问题是,如果用户决定离开,我想采取一些行动

下面是一个示例(我使用jquery,因为它已经加载):

我想做的事情是这样的(我知道,这段代码不起作用,它只是一个示例来说明我正在尝试做的事情):

我不知道我在这里要做的是不是可能。。。谷歌搜索没有给我任何提示,所以我转向我最喜欢的专家组

你知道我怎么做吗


谢谢

离开页面时,事件
beforeunload
unload
按该顺序执行。当然,如果
beforeunload
事件没有完成,则
unload
事件不会完成

beforeunload
事件无法完成的方式是当用户单击“停留在页面上”按钮而不是“离开页面”(如果向他们显示该对话框,如代码中所示)

因此,如果您知道他们不离开页面的可能性将始终呈现给他们,那么执行
unload
事件的唯一方法是(用户)不阻止
beforeunload
事件

因此,当用户实际选择在
unload
事件中离开页面时,您应该能够放置想要执行的任何代码


至于是否知道用户决定留在页面上,我不确定如何捕捉它:)

duplicate:请正确阅读我的问题。我不是在问如何进行“离开页面确认”,而是如何根据“离开页面确认”的结果进行一些操作……你的问题在该线程中得到了某种程度的回答。由于安全原因,您想做的事情是不可能的……只需在
卸载
事件中执行您想做的事情即可。只有当
beforeunload
事件没有阻止页面离开(用户单击“离开页面”按钮)时,才会触发该命令。这是onbeforeunload和onunload之间的纯粹区别。
$(window).on('beforeunload', function(e){
    return "Do you really want to leave?";
});
$(window).on('beforeunload', function(e){
    // Ask for user confirmation
    var bUserAnswer = confirm("Do you really want to leave?");

    if(bUserAnswer)
    {
        // Do something...
    }
    else
    {
        // Do something else...
    }
    // Close everything if the user decides to leave...
    return bUserAnswer;
});