Javascript 更改服务工作者目录的后果?

Javascript 更改服务工作者目录的后果?,javascript,service-worker,web-push,service-worker-events,service-worker-config,Javascript,Service Worker,Web Push,Service Worker Events,Service Worker Config,正如您可能已经知道的,您应该将您的服务工作人员放在基本目录中,以便它具有整个项目的范围,否则某些功能(例如navigator.serviceWorker.ready())将不可用 我的问题是,我最初把我的服务人员放在一个目录中,现在我觉得有点被困住了 我使用服务工作者来注册和处理web推送通知,我想知道如果我将其移动到基本目录,是否会丢失所有当前订阅 注意:注册的服务人员必须保持不变,如果不想在基本目录中移动服务人员,则不应注册新的服务人员。您可以在响应中使用“允许的服务工作者”标题。如果存在此

正如您可能已经知道的,您应该将您的服务工作人员放在基本目录中,以便它具有整个项目的范围,否则某些功能(例如navigator.serviceWorker.ready())将不可用

我的问题是,我最初把我的服务人员放在一个目录中,现在我觉得有点被困住了

我使用服务工作者来注册和处理web推送通知,我想知道如果我将其移动到基本目录,是否会丢失所有当前订阅


注意:注册的服务人员必须保持不变,如果不想在基本目录中移动服务人员,则不应注册新的服务人员。您可以在响应中使用“允许的服务工作者”标题。如果存在此标头,则即使您的sw.js文件位于嵌套目录中,也会注册您的服务工作者

Service-Worker-Allowed header '/'
此处是有关此标题的官方文档


您好,感谢您的回复,我知道此标题,但我关心的是它是否注册了新的服务人员。通知订阅绑定到一个服务工作者,因此,如果修改作用域和头会导致注册一个新的服务工作者,那就不值得了。如果它只是像对它进行任何其他更改一样对服务人员执行更新,那么它可能会工作,除非或直到您修改了服务人员的范围,否则您是好的。标头将仅用于服务人员的注册,而不用于其他用途。除此之外,您还可以通过编程控制所有服务人员状态。