1

我有一个window.onbeforeunload生成默认消息的函数:

“您确定要离开此页面吗……”。

如果我们单击,OK我们将被重定向到一个新链接,如果我们按下cancel,我们将被重定向回同一页面。

OK 当我们按下并离开页面时,我想从页面中保存一些数据。我们如何知道是否OKcancel已被按下,然后进行事件调用并继续使用“ok”/“cancel”选项。

4

3 回答 3

0
function leavePage() {
    //do your thing like saving the data in the session
    return "Some data entered may be lost."; //a text needs to be returned
}

window.onbeforeunload = leavePage;
于 2011-04-07T10:15:36.233 回答
0

一种可能的方法也可能是挂钩onunload事件,如果调用该处理程序,您就知道用户选择了OK.

onbeforeunload中,设置一个超时回调,该回调在一段时间后(例如 1 秒)被调用,如果被调用,用户可能选择了Cancel

不过,不确定这对于比赛条件有多安全。

于 2011-04-07T10:17:54.797 回答
-1

你在使用 JavaScript 的“确认”对话框吗?

if(confirm("Are you sure you want to navigate away from this page....")) {
    // OK was pressed
} else {
    // Cancel was pressed
}
于 2011-04-07T10:08:45.513 回答