使用onbeforeunload确认时是否可以捕获用户的答案?

我需要提醒用户,他们在离开页面时会丢失信息。 使用onbeforeunload事件可以轻松完成此操作。 我的问题是,如果用户决定离开,我想采取一些行动。

这是一个例子(我正在使用jquery,因为它仍然是加载的):

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

我不知道我在这里尝试做的事情是否可能……谷歌搜索并没有给我任何指示,所以我转向我最喜欢的专家组!

知道怎么做吗?

谢谢!

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

beforeunload事件未完成的方式是用户单击“Stay on Page”按钮而不是“Leave Page”(如果该对话框显示给他们,就像在代码中一样)。

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

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

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