【问题标题】:What is the API for unregistering service workers in Chrome >= 44?在 Chrome >= 44 中注销服务工作者的 API 是什么?
【发布时间】:2015-04-29 19:58:25
【问题描述】:

我正在尝试注销已安装的服务人员。我知道注册承诺将注册作为参数传递给成功函数,我可以将其存储在某个范围内,但是在页面重新加载后这将不起作用(我希望能够取消注册已安装的工作人员在之前的会话中)。我试图查找注册中定义的一些 ID,以便我稍后检索它,但它似乎不存在。

This page 提到了 navigator.serviceWorker.unregister (它将范围作为参数),但在我的环境(Chrome 44,Linux)中没有定义。只是还没有实施吗?有没有我可以暂时使用的解决方法?

【问题讨论】:

标签: service-worker


【解决方案1】:

从由 SW 控制的文档中,这将取消注册它 (CR41+):

navigator.serviceWorker.getRegistration().then(function(r) { 
  r.unregister();
});

在 Chrome 中,您还可以检查哪些 SW 处于活动状态并从 chrome://serviceworker-internals 注销它们

【讨论】:

  • 有没有办法在等待状态的情况下强制更新服务工作人员,从而导致应用程序的新选项卡使用处于活动状态的新服务工作人员?换句话说 - 如何更新服务工作者而不是导致通过服务工作者状态安装的页面下载所有资源。
猜你喜欢
  • 1970-01-01
  • 2017-12-27
  • 2018-08-17
  • 1970-01-01
  • 1970-01-01
  • 2021-06-11
  • 2018-01-28
相关资源
最近更新 更多