Я столкнулся с проблемой в Opera Desktop Browser 47 при попытке отправить push-уведомления.
Хотя уведомления доставляются правильно, я не могу вызвать событие «notificationclick». В консоли тоже ничего.
Service Worker: (фрагмент ПО с примерами тестовых данных)
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();
};
Теперь дело в том, что когда я ставлю точку останова сразу после отправки уведомления (не позволяя событию завершиться), уведомление доставляется, событие «notificationclick» также работает.
На самом деле это очень странно, потому что в других браузерах с таким же сервисным кодом все работает нормально.
У кого-нибудь есть идея?