0

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

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

我使用服务人员来注册和处理网络推送通知,我想知道如果我将它移动到基本目录是否会丢失所有当前订阅

注意 注册的 Service Worker 必须保持不变,不应注册新的 Service Worker

4

1 回答 1

0

如果您不想将服务人员移动到基本目录中。您可以在响应中使用“Service-Worker-Allowed”标头。如果此标头存在,那么即使您的 sw.js 文件位于嵌套目录中,您的服务工作者也会被注册。

Service-Worker-Allowed header '/'

这里是有关此标头的官方文档。

https://w3c.github.io/ServiceWorker/#service-worker-allowed

于 2020-11-05T16:47:12.073 回答