提升ServiceWorker推送通知事件

时间:2017-12-15 23:00:01

标签: javascript push-notification notifications service-worker web-worker

我正在开发webApp,并希望使用ServiceWorker发送通知。

我有我的sw.js和我的main.js.我能够注册我的服务工作者,并且我能够使用如下命令发送通知:

navigator.serviceWorker.getRegistration().then(function(reg) {      
    reg.showNotification('Title', {
        body: 'body'
    });
});

但这并不是在' sw.js'中定义我的推送事件。

这里的参考是我的" sw.js":

self.addEventListener('push', function(event) {
  console.log('[Service Worker] Push Received.');
  console.log(`[Service Worker] Push had this data: "${event.data.text()}"`);

  const title = 'title test from push';
  const options = {
    body: 'body test from push.',
    icon: 'images/icon.png'
  };

  event.waitUntil(self.registration.showNotification(title, options));
});

const title = 'Push Codelab';
const options = {
  body: 'Yay it works.',
  icon: 'images/icon.png',
  badge: 'images/badge.png'
};
self.registration.showNotification(title, options);

作为附加信息,如果我进入开发者工具,则在Chrome中使用>应用程序选项卡=>服务工作者,点击"推送"按钮,引发正确的推送事件。但是,再一次,我无法从我的主页面触发它。

0 个答案:

没有答案