CookieStoreManager

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

安全上下文: 此项功能仅在一些支持的浏览器安全上下文(HTTPS)中可用。

备注: 此特性在 Service Worker 中可用。

Cookie Store APICookieStoreManager 接口允许 Service Worker 订阅 cookie 变更事件。调用特定的 Service Worker Registration 的 subscribe() 方法接收变更事件。

CookieStoreManager 关联一个的 ServiceWorkerRegistration。每个 Service Worker Registration 包含一个 cookie 变更订阅列表,每个订阅都包含名称和 URL。此接口的方法允许 Service Worker 添加和移除订阅,以及获取所有订阅。

调用 ServiceWorkerRegistration.cookies 获取 CookieStoreManager

实例方法

CookieStoreManager.getSubscriptions()

返回一个兑现为此 Service Worker Registration 的 cookie 变更订阅列表的 Promise

CookieStoreManager.subscribe()

订阅 cookie 变更。返回一个订阅后兑现为 undefinedPromise

CookieStoreManager.unsubscribe()

取消订阅 cookie 变更。返回一个操作成功后兑现为 undefinedPromise

示例

在此示例中,被 registration 指示的 ServiceWorkerRegistration 订阅了 "/path1" 作用域下命名为 "cookie1" 的 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();

规范

Specification
Cookie Store API
# cookiestoremanager

浏览器兼容性

BCD tables only load in the browser