我正在通过以下代码跟踪窗口关闭/导航事件。

window.onbeforeunload = winClose;
    function winClose() {
        if (isDataChanged) {
            return "Are you sure you want to close?";
        }
    }


显然,这将弹出确认/取消的确认。当浏览器关闭时。

在这里,我想在按“确定” /“取消”后调用事件。怎么做?

最佳答案

尝试:

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()应该运行。希望能有所帮助。

(注:未测试)

关于javascript - 在onbeforeunload事件之后,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1523777/

10-13 06:37