Notifications 如何在PWA服务人员中安排定期任务

Notifications 如何在PWA服务人员中安排定期任务,notifications,progressive-web-apps,service-worker,Notifications,Progressive Web Apps,Service Worker,我想在我的PWA中安排一个定期任务,然后我可以在每天的某个特定时间显示通知 我尝试了通知API:,它似乎有效。然而,根据文档,它仍然需要在应用程序的页面上下文中设置间隔,例如 setInterval(() => navigator.serviceWorker.getRegistration().then(reg=>{ if (!reg) { return } reg.showNotification('test', { tag: 'test-tag',

我想在我的PWA中安排一个定期任务,然后我可以在每天的某个特定时间显示通知

我尝试了通知API:,它似乎有效。然而,根据文档,它仍然需要在应用程序的页面上下文中设置间隔,例如

setInterval(() => navigator.serviceWorker.getRegistration().then(reg=>{
  if (!reg) {
    return
  }
  reg.showNotification('test', {
      tag: 'test-tag',
      body: 'This notification was scheduled 1min ago',
      showTrigger: new TimestampTrigger(new Date().getTime() + 60 * 1000),
    });
  }), 60 * 1000)
这不是我的理想解决方案,如果我关闭我的应用程序,通知将不会被触发

然后我尝试了periodicSync API:,例如

根据我的测试,如果我在
dev tool->Application->service Workers->Periodic Sync按钮中手动触发
periodicSync
事件,则服务人员可以接收
periodicSync
事件。但我所期望的是每1分钟获得一次
periodicSync
事件。根据文档,它似乎与
站点参与相关
,那么它就不是真正的定期任务

有什么办法解决这个问题吗? 谢谢大家!

await registration.periodicSync.register('periodic-notification', {
  minInterval: 60*1000
});