首页 > 解决方案 > 错误地添加了服务人员。删除了它,但如何从现有的计算机上取下它?

问题描述

在开始一个 Angular (6) 项目时,我使用了一个有服务工作者的模板。几个月后,我遇到了一个问题,即解决方案是删除服务人员(通过ServiceWorkerModule.register从我的 app.module 导入中删除)。但是,在该版本之前打开该应用程序的每台计算机仍然安装并运行服务工作者(仍然导致原始问题)。我知道我可以通过开发工具在一台计算机上手动删除一个,但我怎样才能在代码中获得解决方案?

我尝试过的一些事情:

标签: angularservice-workerangular-service-worker

解决方案


您可以使用 javascript 来“取消注册”服务人员。这是一个例子:

if ('serviceWorker' in navigator) {
      navigator.serviceWorker.getRegistrations().then(function (registrations) {
        //returns installed service workers
        if (registrations.length) {
          for(let registration of registrations) {
            registration.unregister();
        }
     }
  });
}

推荐阅读