我有一个beforeunload处理程序,当用户实际导航离开页面时调用:
$(window).on("beforeunload", function () {
cleanup();
});
然而,我的应用程序的另一部分可能会添加另一个beforeunload处理程序,它会询问用户是否因为正在进行的操作而确实要离开:
$(window).on("beforeunload", function () {
return "Do you really want to leave";
});
我怎样才能保证,第二个处理程序将始终首先被调用,并且如果用户决定留在页面上,则不会调用第一个处理程序?
我已尝试使用unload
事件。但这不起作用,因为它不会可靠地执行我的清理功能和后端调用。
答案 0 :(得分:1)
您可以使用window.confirm以防万一。如(伪代码)
$(window).on("beforeunload", function () {
var result = window.confirm('Do you really want to quit?');
if (result) {
cleanup();
}
}
这样,如果用户想要退出,它将进行清理。这有用吗?>