window.onbeforeunload处理ok并取消选项

时间:2011-04-07 10:04:45

标签: javascript javascript-events window.onunload

我有一个window.onbeforeunload函数,它会生成默认消息“你确定要离开此页面......”。 如果我们点击“确定”,我们会被重定向到新链接,如果我们按“取消”,我们会被重定向回同一页面。

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

3 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

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

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

不确定这对种族状况有多安全。

答案 2 :(得分:-1)

您使用的是“确认”对话框吗?

if(confirm("Are you sure you want to navigate away from this page....")) {
    // OK was pressed
} else {
    // Cancel was pressed
}