只有当我打开Chrome时,我才会看到Chrome网站的推送通知。我知道此通知是通过服务工作者发送的。我想知道即使浏览器关闭或仅在打开chrome时这个后台同步是否继续,这些服务工作者同步过程才开始并开始发送推送通知。
答案 0 :(得分:11)
首先要说的是,这在某种程度上取决于平台。我对chrome的理解是:
在Windows和Mac OS X等桌面平台上,浏览器需要运行一些后台进程才能使服务工作者能够运行。在Mac OS X上,这很容易被发现,因为浏览器没有打开窗口,但浏览器下方仍有发光点。
在移动平台上,您可以更轻松地监听事件并以高效的方式处理事件,因此在这些情况下,平台可以唤醒浏览器,然后处理任何相应的事件。
以上内容适用于任何服务人员api。
在桌面上:如果浏览器完全关闭,则服务工作人员无法运行,也不会发送任何事件(即没有推送或后台同步事件)
在移动设备上:仍将调度事件(即当用户设备联机并且将接收推送并导致推送事件时,将触发后台同步。)
答案 1 :(得分:1)
如果浏览器关闭,我认为服务工作者无法运行。因为服务工作者只有在打开浏览器后才能发送推送通知。如果它在后台运行,那么即使关闭浏览器也可以发送通知。
答案 2 :(得分:-1)
很少offtopic但是如果允许Chrome在后台运行(可在设置中配置),则可以在background script可以运行的Chrome扩展程序中编写。它也可以use GCM。