CookieStoreManager: subscribe() method

Limited availability

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

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Service Workers.

The subscribe() method of the CookieStoreManager interface subscribes a ServiceWorkerRegistration to cookie change events.

Syntax

js
subscribe(subscriptions)

Parameters

subscriptions

An array of objects, each of which has the following properties:

name

A string with the name of a cookie.

url

A string with the url of a cookie scope. This may be narrower than the scope of the service worker registration.

Return value

A Promise that resolves with undefined when the subscription completes.

Exceptions

TypeError

Thrown if the URL passed in subscriptions does not match the service worker registration's scope.

Examples

In this example, the ServiceWorkerRegistration represented by registration is subscribing to change events on the cookie named "cookie1" with a scope of "/path1".

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

The URL passed to the subscribe() method, may be narrower than the service worker registration scope. In the following example the subscription is for /path/one/, so it will receive change events for changes on the first cookie, but not the second.

js
registration.cookies.subscribe([{ name: "cookie1", url: "/path/one/" }]); // subscription
cookieStore.set({ name: "cookie1", value: "cookie-value", path: "/path/one/" }); // receives a change event
cookieStore.set({ name: "cookie1", value: "cookie-value", path: "/path/two/" }); // does not receive a change event

Specifications

Specification
Cookie Store API
# dom-cookiestoremanager-subscribe

Browser compatibility

BCD tables only load in the browser