首页 文章

如何在卸载之前关闭页面的所有通知(不使用Window#onunload)?

提问于
浏览
11

我有一个页面,使用window.webkitNotifications通知用户有关服务器更新的信息 .

它不是Google Chrome扩展程序 .

我想在页面卸载前关闭所有页面通知 . 我正在努力做到:

var notifications = new Array();

// ...
var popup = window.webkitNotifications.createNotification(...);
// ...
notifications.push(popup);

// ...
function closeAll(){
  for (notification in notifications) {
    notifications[notification].cancel();
  }
}

//...
$(window).unload(function() {
  closeAll();
});

但是当我重新加载页面时,通知没有关闭 . 我在Chromium项目中发现了这个问题:https://code.google.com/p/chromium/issues/detail?id=40262

如何在不使用Window#onunload的情况下确保关闭页面通知?

3 回答

  • 2

    我想知道你是否可以添加一些javascript到通知弹出窗口和settimeout与实际的弹出窗口,这样它最终会关闭 .

    我将不得不尝试对此进行测试 .

  • 0

    用这个 :)

    $(window).on('beforeunload', function() {
        closeAll();
    });
    
  • -2

    使用 beforeunload 事件而不是 unload .

相关问题