我有一名服务人员在运行推送通知。它注册得很好,但是当我发送推送通知时,它只能在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/')
    );
  })
});

最佳答案

问题是Firefox还没有实现Action。
Chrome实施并期望采取以下措施:[{action:“ get”,title:“ titlehere”}]
因此,问题不在于通知标题,而是动作标题。

10-07 14:09