我有一名服务人员在运行推送通知。它注册得很好,但是当我发送推送通知时,它只能在Firefox中使用,而不能在chrome中使用(版本74.0.3729.131(官方内部版本)(64位))。 Chrome worker可以接收推送,但可以创建通知对象。
Chrome错误“ worker.js:6未捕获(承诺)TypeError:无法在'ServiceWorkerRegistration'上执行'showNotification':所需的成员标题未定义。 在worker.js:6“
self.addEventListener('push', ev => {
const data = ev.data.json();
self.registration.showNotification('Harcoded title', {
actions: [{action: "get"}],
body: data.body,
title: 'Another hardcoded for testing',
vibrate: [200, 100, 200, 100, 200, 100, 200],
tag: 'SPI',
icon: '/spi40/images/logo_spi.jpg'
}).then(function(NotificationEvent) {console.log(NotificationEvent) });
self.addEventListener('notificationclick', function(event) {
event.notification.close();
event.waitUntil(
clients.openWindow('http://192.168.2.106/spi40/')
);
})
});
答案 0 :(得分:1)
问题是Firefox还没有实现Action。 Chrome实施并期望采取以下措施:[{action:“ get”,title:“ titlehere”}] 因此,问题不在于通知标题,而在于动作标题。