Secure context

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

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


let promise = registration.cookies.subscribe(subscriptions);


An object containing:
A USVString with the name of a cookie.
A USVString 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.


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


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

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.

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


Specification Status Comment
Cookie Store API
The definition of 'CookieStoreManager.subscribe()' in that specification.
Draft Initial definition.

Browser compatibility

BCD tables only load in the browser