【问题标题】:Detect click on notification in web starter kit检测网络入门工具包中的点击通知
【发布时间】:2017-07-22 15:10:40
【问题描述】:

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

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

我想使用 service worker 检测 notificationclick 事件。

notification behaviour article 声明:

为此,我们需要添加一个 'notificationclick' 事件监听器 我们的服务人员。

我尝试了以下方法:

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

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

【问题讨论】:

  • 错误日志是什么?
  • 当我点击屏幕上出现的通知时,控制台没有错误。

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


【解决方案1】:

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

# sw.js

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2017-11-11
    • 1970-01-01
    相关资源
    最近更新 更多