Как закрыть все уведомления на странице перед ее выгрузкой (без использования Window # onunload)? - PullRequest
11 голосов
/ 12 мая 2011

У меня есть страница, которая уведомляет пользователя об обновлениях сервера, используя 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 голосов
/ 09 марта 2012

Интересно, можете ли вы добавить некоторый javascript во всплывающее окно уведомлений и установить тайм-аут без фактического всплывающего окна, таким образом, оно в конечном итоге закроется.

Мне придется попробовать и проверить это.

0 голосов
/ 25 сентября 2015

Используйте это:)

$(window).on('beforeunload', function() {
    closeAll();
});
0 голосов
/ 21 октября 2011

Используйте событие beforeunload вместо unload.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...