如何卸载 Service Worker?

新手上路,请多包涵

从我的根目录中删除 /serviceworker.js 后,Chrome 仍然运行我从 webroot 中删除的服务工作者。如何从我的网站和 Chrome 中卸载 service worker,以便我可以重新登录我的网站?

我已将问题追溯到 Service Work 的缓存机制,我现在只想删除,直到我有时间调试它。我使用的登录脚本重定向到 Google 的服务器,以便他们登录到他们的 Google 帐户。但我从 login.php 页面得到的只是一条 ERR_FAILED 消息。

原文由 Mark Tomlin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.8k
2 个回答

以编程方式移除 Service Worker

您可以像这样以编程方式删除服务工作者:

 navigator.serviceWorker.getRegistrations().then(function(registrations) {
 for(let registration of registrations) {
  registration.unregister()
} })

文档: getRegistrations取消注册

通过用户界面删除 Service Worker

您还可以在 Chrome Devtools 的应用程序选项卡下删除服务工作者。

原文由 Daniel Herr 发布,翻译遵循 CC BY-SA 4.0 许可协议

您还可以转到 URL: chrome://serviceworker-internals/ 并从那里取消注册 serviceworker。

原文由 k00k 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题