更改Service Worker目录的后果?

问题描述

您可能已经知道,应该将服务人员放置在基本目录中,以使其具有整个项目的范围,否则某些功能(例如navigator.serviceWorker.ready())将不可用。 / p>

我的问题是,我最初将服务工作者放在目录中,但是现在我有点被困住了。

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

强制要求注册的服务人员必须保持不变,不得注册新的服务人员

解决方法

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

Service-Worker-Allowed header '/'

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...