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

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
CookieStoreManager
getSubscriptions
subscribe
unsubscribe

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support