即使浏览器关闭,Service Worker 是否在后台运行?
Does service worker runs on background even if browser is closed?
只有当我打开 chrome 时,我才能在 chrome 中看到 Facebook 网页的推送通知。我知道这个通知是通过 service worker 发送的。我想知道这个后台同步是在浏览器关闭时还是在打开时继续进行 chrome 只有这些 service-worker 同步进程开始并开始发送推送通知。
首先要说的是这在某种程度上取决于平台。我对chrome的理解是:
在 windows 和 Mac 等桌面平台上 OS X 浏览器需要一些后台进程 运行ning 服务工作者才能 运行。在 Mac OS X 上,这很容易检测到,因为浏览器可以没有 windows 打开,但浏览器下方仍然有发光点。
在移动平台上更容易侦听事件并以高效的方式处理它们,因此在这些情况下,平台可以唤醒浏览器,然后浏览器将处理任何相应的事件。
以上内容适用于 api 的任何服务工作者。
在桌面上:如果浏览器完全关闭,则服务人员无法运行并且不会调度任何事件(即没有推送或后台同步事件)
在移动设备上:仍将调度事件(即当用户设备联机时将触发后台同步,将接收推送并引发推送事件)。
如果浏览器关闭,我认为服务人员将无法 运行。因为 service-worker 只有在我打开浏览器后才能发送推送通知。如果它在后台 运行ning 那么即使在关闭浏览器后它也可以发送通知。
有点跑题,但可以写 Chrome 扩展名 background script can run if Chrome is allowed to run in the background (configurable in settings). It can also use GCM。
只有当我打开 chrome 时,我才能在 chrome 中看到 Facebook 网页的推送通知。我知道这个通知是通过 service worker 发送的。我想知道这个后台同步是在浏览器关闭时还是在打开时继续进行 chrome 只有这些 service-worker 同步进程开始并开始发送推送通知。
首先要说的是这在某种程度上取决于平台。我对chrome的理解是:
在 windows 和 Mac 等桌面平台上 OS X 浏览器需要一些后台进程 运行ning 服务工作者才能 运行。在 Mac OS X 上,这很容易检测到,因为浏览器可以没有 windows 打开,但浏览器下方仍然有发光点。
在移动平台上更容易侦听事件并以高效的方式处理它们,因此在这些情况下,平台可以唤醒浏览器,然后浏览器将处理任何相应的事件。
以上内容适用于 api 的任何服务工作者。
在桌面上:如果浏览器完全关闭,则服务人员无法运行并且不会调度任何事件(即没有推送或后台同步事件)
在移动设备上:仍将调度事件(即当用户设备联机时将触发后台同步,将接收推送并引发推送事件)。
如果浏览器关闭,我认为服务人员将无法 运行。因为 service-worker 只有在我打开浏览器后才能发送推送通知。如果它在后台 运行ning 那么即使在关闭浏览器后它也可以发送通知。
有点跑题,但可以写 Chrome 扩展名 background script can run if Chrome is allowed to run in the background (configurable in settings). It can also use GCM。