在后台持续运行服务工作者?

时间:2016-05-09 18:11:46

标签: service-worker

我今天一直在学习服务工作者。我有几个问题

1)使用https以外的服务人员有什么限制?我读到服务工作者的生命周期是有限的,只要打开浏览器(而不是我的页面),我是否可以让服务工作者在后台运行?如果可能的话,可能是什么问题?

2)当一个事件使用服务工作者运行时,我错误地关闭了选项卡,当我打开我的页面时,是否可以检查我的服务工作者中正在运行的待处理事件是什么?如果可能的话,你能给我一个简短的例子吗?

3)缓存的页数是否有限制?什么可以缓存,什么不应该?

谢谢,
Jollyguy

1 个答案:

答案 0 :(得分:5)

  1. 目前,当您的标签关闭时,无法让服务工作者无限期地运行。 BackgroundSync API可能就是你要找的东西。
  2. 绝对可以,您可以使用postMessage API使您的页面与其控制服务人员“聊天”。请参阅Message Relay recipe in the ServiceWorker Cookbook
  3. 除可用空间量外,没有其他限制。有关详细信息,请参阅the Storage Consideration paragraph of the Service Workers specification