我通过以下代码跟踪窗口关闭/导航事件。
window.onbeforeunload = winClose;
function winClose() {
if (isDataChanged) {
return "Are you sure you want to close?";
}
}
当浏览器关闭时,这显然会通过确定/取消。弹出确认。
这里我想在按下确定/取消后调用一个事件。怎么做?
答案 0 :(得分:2)
尝试:
window.onbeforeunload = winClose;
function winClose() {
if (isDataChanged) {
setTimeout(function() { do_canceled_event(); }, 500);
return "Are you sure you want to close?";
}
}
使用setTimeout,您可以将其从正常流程中取出,并在对话框打开时暂停页面上的js。处理继续后,do_canceled_event()
应该运行。希望有所帮助。
(注意:未经测试)