浏览器上不支持它的Angular Service Worker

时间:2017-12-31 21:24:53

标签: angular service-worker angular5 angular-service-worker

Angular团队做得很好,并在第5版中介绍了服务工作者支持。documentation非常有帮助,我可以在阅读相关文章之后看到这些内容如何正常工作,但是有一个主题那里没有。这一切如何在不支持服务工作者的浏览器中工作。

这就是所说的:

  

您的应用程序必须在支持服务的Web浏览器中运行   工作人员。目前,最新版本的Chrome和Firefox都是   支持的。要了解其他作为服务工作者的浏览器   准备好了,请参阅我可以使用页面。

我可以在相对重要的浏览器中使用该功能的节目quite a poor support吗?我可以在不工作的IE11中存活下来,但Safari(尤其是移动设备)是我不想不受支持的事情。

因此,我的目的是了解角度服务工作者模块,服务,这些服务提供的事件等在支持服务工作者的浏览器上的行为。

所有那些人都会默默地失败吗?无论如何会触发事件吗?请求ngsw-worker.js吗?是否会在IndexedDB中缓存某些内容而不是服务工作者?

解决方案看起来很酷,但我不能回答问题我应该使用它吗?直到我知道上述问题的答案。

2 个答案:

答案 0 :(得分:3)

The official response

Angular SW仅适用于支持服务工作者的浏览器。这包括所有应用程序集成(例如SwUpdate服务)。

如果当前浏览器不支持SW。

  • 永远不会下载SW脚本和ngsw.json。
  • 主动尝试与SW交互,例如调用 -
  • SwUpdate.checkForUpdate()将返回被拒绝的承诺。
  • 听取SwUpdate.available等SW Observable的被动尝试将永远不会触发 - Observables永远不会发出。

答案 1 :(得分:1)

基本上,不支持服务工作者的浏览器会无声地失败。因此,连接到SW的后台中的任何内容(如脱机缓存和推送通知)都不起作用。该网站仍然可以像任何其他网站一样工作,只是PWA的功能和功能不会。