CookieStoreManager

安全上下文:此功能仅在安全上下文(HTTPS)中可用,且仅在部分或全部支持的浏览器中可用。

注意:此功能在Service Workers中可用。

Cookie 存储 APICookieStoreManager接口允许服务工作者订阅 cookie 更改事件。在特定服务工作者注册上调用subscribe()以接收更改事件。

CookieStoreManager具有关联的ServiceWorkerRegistration。每个服务工作者注册都有一个 cookie 更改订阅列表,该列表是 cookie 更改订阅的列表,每个订阅包含一个名称和 URL。此接口中的方法允许服务工作者向此列表添加和删除订阅,以及获取所有订阅的列表。

要获取CookieStoreManager,请调用ServiceWorkerRegistration.cookies

实例方法

CookieStoreManager.getSubscriptions()

返回一个Promise,该 Promise 解析为此服务工作者注册的 cookie 更改订阅列表。

CookieStoreManager.subscribe()

订阅 cookie 的更改。它返回一个Promise,当订阅成功时解析。

CookieStoreManager.unsubscribe()

取消注册的服务工作者对 cookie 更改的订阅。它返回一个Promise,当操作成功时解析。

示例

在此示例中,由registration表示的ServiceWorkerRegistration正在订阅名为"cookie1"且范围为"/path1"的 cookie 的更改事件。

js
const subscriptions = [{ name: "cookie1", url: `/path1` }];
await registration.cookies.subscribe(subscriptions);

如果ServiceWorkerRegistration已订阅任何 cookie,则getSubscriptions()将返回一个由对象表示的 cookie 列表,这些对象的格式与原始订阅中使用的格式相同。

js
const subscriptions = await self.registration.cookies.getSubscriptions();

规范

规范
Cookie 存储 API
# cookiestoremanager

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。