gpt4 book ai didi

service-worker - 服务 worker : pitfalls of self. skipWaiting() 和 self.clients.claim()

转载 作者:行者123 更新时间:2023-12-01 04:42:21 25 4
gpt4 key购买 nike

要在安装后立即激活 service worker,我使用 self.skipWaiting()在安装监听器中。要立即控制页面(无需页面导航,例如页面加载),我使用 self.clients.claim() .我明白做这样的事情意味着:

  • 页面可以在不受 Service Worker 控制的情况下首先加载,然后在其生命周期内由 Service Worker 接管。
  • 一个页面可以在 Service Worker 版本 1 的控制下启动,但在其生命周期内被版本 2 接管。

  • 网上有各种各样的警告关于做这样的事情,但我没有看到陷阱。也许一个潜在的问题是受控页面在首次加载时是否与 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() ,我仍然没有看到反对它的令人信服的论据,但是当我看到时,我会更新我的答案。

    关于service-worker - 服务 worker : pitfalls of self. skipWaiting() 和 self.clients.claim(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49482577/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com