Angular 团队做得非常出色,并在版本 5 中引入了 Service Worker 支持。文档 https://angular.io/guide/service-worker-intro非常有帮助,在阅读相关文章后我真的可以看到这些事情是如何工作的,但是有一个主题没有涵盖其中。这一切在不支持 Service Worker 的浏览器中是如何工作的?
这就是所说的:
您的应用程序必须在支持服务的 Web 浏览器中运行
工人。目前,Chrome和Firefox的最新版本是
支持的。了解作为 Service Worker 的其他浏览器
准备就绪,请参阅我可以使用页面。
我可以使用节目吗支持很差 https://caniuse.com/#feat=serviceworkers相对重要的浏览器中的功能。我可以忍受不工作的 IE11,但 Safari(尤其是移动设备)是我不希望不受支持的东西。
因此,我的目的是了解 Angular Service Worker 模块、服务、这些服务提供的事件等在浏览器上的行为does not支持服务人员。
所有这些都会默默地失败吗?事件无论如何都会被触发吗?会不会ngsw-worker.js
被要求?是否会在 IndexedDB 而不是 Service Worker 中缓存某些内容?
解决方案看起来很酷,但我无法回答这个问题我应该使用它吗?直到我知道上述问题的答案。
官方回应 https://github.com/angular/angular/issues/21304#issuecomment-367076992
Angular SW 仅适用于支持 Service Worker 的浏览器。这包括所有应用程序集成(例如 SwUpdate 服务)。
如果当前浏览器不支持软件。
- SW 脚本和 ngsw.json 永远不会被下载。
- 主动尝试与软件交互,例如调用 -
- SwUpdate.checkForUpdate() 将返回被拒绝的承诺。
- 被动尝试监听 SW Observables(例如 SwUpdate.available)将永远不会触发 - Observables 永远不会发出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)