Opera推送通知 - 无法触发通知活动事件



我在尝试发送推送通知时面临着Opera桌面浏览器47的问题。

虽然通知正确地交付了,但我无法触发"通知"事件。控制台也没有。

服务工作者:(带有示例测试数据的SW片段)

self.addEventListener('push', function(event) {
event.waitUntil(self.registration.pushManager.getSubscription().then(function(o) {
        if (event.data) {
            console.log(event.data);
            var json=event.data.json();
            var notifs = [];
            const title = 'Sample Opera Title';
            const options = {
                body: 'Body of push notification',
            };
            payload_notifs.push(self.registration.showNotification(title, options));
            return Promise.all(notifs);
        }
    }));
});
self.onnotificationclick = function(event) {
    console.log('On notification click: ', event.notification.tag);
    event.notification.close();
};

现在,当我在发送通知(不让事件完成)之后放断点时,通知已交付时,"通知"事件也可以。

这实际上非常奇怪,因为在具有相同服务代码的其他浏览器上工作正常。

有人有主意吗?

尝试以下:

self.addEventListener('push', function(event) {
event.waitUntil(self.registration.pushManager.getSubscription().then(function(o) {
        if (event.data) {
            console.log(event.data);
            var json=event.data.json();
            var notifs = [];
            const title = 'Sample Opera Title';
            const options = {
                body: 'Body of push notification',
            };
            payload_notifs.push(self.registration.showNotification(title, options));
            Promise.all(notifs);
        }
    }));
});
self.onnotificationclick = function(event) {
    console.log('On notification click: ', event.notification.tag);
    event.notification.close();
};

删除 return,歌剧正在做一些奇怪的事情。

最新更新