检测点击Web入门套件

时间:2017-07-22 15:10:41

标签: javascript service-worker progressive-web-apps google-web-starter-kit

我正在使用Google Web Starter kit,并且可以使用服务工作人员显示通知。

navigator.serviceWorker.getRegistration().then(function(reg) {
    var options = {
      body: body
    };
    reg.showNotification(title, options);
});

我想使用服务工作者检测 notificationclick 事件。

notification behaviour article声明:

  

要实现这一目标,我们需要添加一个' notificationclick'事件监听器   我们的服务人员。

我尝试了以下内容:

navigator.serviceWorker.addEventListener('notificationclick', function() {
  console.log('notificationclick event called');
});

但它似乎不起作用。应该在哪里添加事件监听器?

1 个答案:

答案 0 :(得分:0)

您需要将notificationclick事件处理程序放在服务工作文件中,并使用self.addEventListener(或只是addEventListener):

# sw.js

self.addEventListener('notificationclick', function() {
  console.log('notificationclick event called');
});

将它放在服务工作者文件中是有意义的,因为如果页面/浏览器关闭,您仍然希望执行事件处理程序。