我如何卸载服务工作者?

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

我已经把这个问题跟踪到了Service Work的caching机制,我只想暂时移除,直到有时间debugging它为止。 我正在使用的login脚本将redirect到Google的服务器,以便他们login到他们的Google帐户。 但是,我从login.php页面得到的是一个ERR_FAILED消息。

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

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

文档: getRegistrations , 取消注册

您也可以在Chrome Devtools的“应用程序”选项卡下删除服务人员。

你也可以到URL: chrome:// serviceworker-internals /并从那里取消一个服务工作者的注册。

在Google Chrome浏览器中,您可以转到开发人员工具(F12) – >应用程序 – >服务人员,然后从该特定域的列表中取消注册服务人员。

截图

这种方法在一个站点的开发模式下是有效的,大部分是在localhost上运行的,这对于其他项目的开发可能是需要的。