尝试发送推送通知时,我遇到Opera Desktop Browser 47的问题。
在通知正确传递的同时,我无法触发'notificationclick'事件。控制台中也没有任何东西。
服务工作者:(带有样本测试数据的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();
};
现在,问题是我在发送通知后立即发出断点(不让事件完成),通知即将发送,'notificationclick'事件也正常工作。
这实际上非常奇怪,因为在其他具有相同服务代码的浏览器上工作正常。
有人有想法吗?
答案 0 :(得分:1)
试试这个:
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
,Opera正在做一些奇怪的事情。