如何知道用户何时取消了页面卸载

时间:2015-12-23 10:01:40

标签: javascript jquery javascript-events onbeforeunload

当用户尝试导航到另一个页面时,我的网站会显示带有加载程序动画的自定义模态窗口:

window.onbeforeunload = function() {
    w.modalForms.loading.show(true); // true stands for permanent
};

除以下情况外,它的效果很好:例如,用户点击了错误的链接并按 Esc (或点击浏览器“停止”按钮)取消导航。因此,加载模式不会消失,他将不得不更新页面以便能够使用该网站。

我想知道用户何时取消卸载\导航。
就像这样:

window.onunloadcancelled = function() {
    w.modalForms.loading.hide();
}

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

一旦对新网页的请求被解雇,也许你应该尝试一下。没有跨浏览器解决方案可以检测用户何时按下停止按钮。

对于esc键,您可以捕获事件并删除

$(document).keyup(function(e) {
 if (e.keyCode == 27) {
     w.modalForms.loading.hide();
}

});

显示模态后,您可以开始观察ESC键。然后删除keyup的监听器