Joh*_*ika 5 service-worker progressive-web-apps
为了在安装后立即激活服务工作人员,我self.skipWaiting()
在安装侦听器中使用。为了立即控制页面(不需要页面导航,例如页面加载),我使用self.clients.claim()
. 我明白做这样的事情意味着:
网上有各种各样关于这样做的警告,但我没有看到其中的陷阱。也许一个潜在的问题是受控页面在第一次加载时是否与 Service Worker 进行了一些初始握手或设置。当新的 Service Worker 在后台激活时,显然会错过这一点,但即便如此,Service Worker 也可以向其控制页面发送消息来通知它们更改。
在我看来,对于大多数场景下的大多数应用程序来说,使用两者都会显着受益self.skipWaiting()
,并且self.clients.claim()
没有任何缺点。我错过了什么?
这里很好地描述了其中的陷阱self.skipWaiting()
(感谢@RobertRowntree 提供的链接):
https://redfin.engineering/how-to-fix-the-refresh-button-when-using-service-workers-a8e27af6df68
至于self.clients.claim()
,我还没有看到令人信服的反对意见,但当我看到时,我会更新我的答案。
归档时间: |
|
查看次数: |
1337 次 |
最近记录: |