我有一个window.onbeforeunload函数,它会生成默认消息“你确定要离开此页面......”。 如果我们点击“确定”,我们会被重定向到新链接,如果我们按“取消”,我们会被重定向回同一页面。
当我们按“确定”并离开页面时,我想从页面保存一些数据。如何知道“ok”或“cancel”是否被按下,然后进行事件调用并继续“ok”/“cancel”选项。
答案 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
}