我正在使用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');
});
但它似乎不起作用。应该在哪里添加事件监听器?
答案 0 :(得分:0)
您需要将notificationclick
事件处理程序放在服务工作文件中,并使用self.addEventListener
(或只是addEventListener
):
# sw.js
self.addEventListener('notificationclick', function() {
console.log('notificationclick event called');
});
将它放在服务工作者文件中是有意义的,因为如果页面/浏览器关闭,您仍然希望执行事件处理程序。