我正在为我的网站启用web通知,并将下面的事件侦听器添加到serviceworker.js文件中,这在edge中运行良好,点击事件会触发并打开一个新窗口,但chrome什么都没发生,事件本身也不会触发-
self.addEventListener('notificationclick', function (event) {
event.notification.close();
console.log('Notification notificationclick triggered');
event.waitUntil(
clients.openWindow(event.notification.data)
);
})
刚刚在Chrome上测试了它,它按预期工作:
self.addEventListener('notificationclick', function (event) {
clients.openWindow("/");
});
使用Chrome devs窗口注销Service Worker,然后找到"应用程序"选项卡。您可以更新或注销该特定服务。
看来您需要执行此操作才能不时查看对文件所做的更改。也许是浏览器缓存之类的。
您可以使用数据对象来代替通知。
例如
{
"to": "pass token here",
"data":{
"title": "Hello",
"body": "Good Evening",
"click_action":"https://stackoverflow.com/"
}
}
关闭广告拦截程序!花了2个小时尝试调试。之后,请尝试再次注册您的服务人员。