如果用户想要关闭浏览器然后检查他们选择了什么,如何显示对话框?

时间:2017-12-13 14:14:45

标签: javascript jquery onbeforeunload onunload

我想知道在JavaScript或JQuery中是否有任何解决方案如果要关闭浏览器/窗口时向用户显示消息?我知道可以选择使用beforeunload,但唯一的问题是我无法找到用户选择Leave PageStay on Page的内容。我之所以问这是否可行的原因是因为如果用户选择Leave Page我想要处理AJAX调用然后关闭浏览器。到目前为止,所有解决方案都将在用户选择选项之前运行AJAX调用。这是我使用的当前函数的示例:

window.addEventListener("beforeunload", function (e) {
    var confirmationMessage = "Your browser is now offline.",
    recID = $.trim($("#recordID").val());

    recID ? removeLock(recID) : ""; // Call function to remove record from the Lock table.
    (e || window.event).returnValue = confirmationMessage; //I'm not sure what is the purpose of this line ???
    return confirmationMessage;
});

正如您在代码中看到的那样,只要用户点击X关闭浏览器/窗口,我就会执行removeLock()函数。这将从锁表中删除记录。如果用户决定留在页面上,这可能是问题。我想知道是否有任何替代解决方案或检查用户选择的方式?谢谢。

1 个答案:

答案 0 :(得分:1)

我阅读了您的帖子,因为这可能会在某一天跟踪用户行为时派上用场。

我认为您的问题已在较早的帖子中得到解答: Capturing result of window.onbeforeunload confirmation dialog

HTH