【问题标题】:How to know when a user has cancelled page unloading如何知道用户何时取消了页面卸载
【发布时间】:2015-12-23 10:01:39
【问题描述】:

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

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

除了以下情况外,它工作得很好:例如,用户点击了错误的链接并按下 Esc(或点击浏览器“停止”按钮)取消导航。结果,加载模式不会消失,他必须更新页面才能与网站一起使用。

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

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

我怎样才能做到这一点?

【问题讨论】:

    标签: javascript jquery dom-events onbeforeunload


    【解决方案1】:

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

    对于esc键,可以捕获事件并去掉

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

    });

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多