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

发布于 2024-11-06 19:32:32 字数 814 浏览 0 评论 0原文

我有一个页面,使用 窗口通知用户有关服务器更新的信息。 webkit通知

它不是 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 的情况下关闭页面通知?

I have a page that notifies the user about server updates, using window.webkitNotifications.

It's not a Google Chrome extension.

I want to close all page notifications before the page unload.
I'm trying to do it with:

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();
});

But the notifications are not closed when I reloads the page.
I found this issue on Chromium project: https://code.google.com/p/chromium/issues/detail?id=40262

How can I ensure that page notifications are closed without use the Window#onunload ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

触ぅ动初心 2024-11-13 19:32:32

我想知道您是否可以在通知弹出窗口中添加一些 JavaScript 并在实际弹出窗口中设置超时,这样它最终会关闭。

我将不得不尝试并测试这一点。

I wonder if you can add some javascript to the notification popup and settimeout withing the actual popup, that way it will close eventually.

I will have to try and test this out.

笛声青案梦长安 2024-11-13 19:32:32

用这个:)

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

Use this :)

$(window).on('beforeunload', function() {
    closeAll();
});
薄暮涼年 2024-11-13 19:32:32

使用 beforeunload 事件而不是 unload

Use the beforeunload event instead of unload.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文