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.
Duplicate subscriptions are ignored: that is, if a service worker subscribes more than once to the same cookie, it will only receive each change notification once.
Syntax
subscribe(subscriptions)
Parameters
subscriptions-
An array of objects, each of which has the following properties:
nameOptional-
A string equal to the name of a cookie. If
nameis omitted, the service worker is subscribed to change events for all cookies that are in scope. urlOptional-
A string equal to the URL of a cookie scope. This may be narrower than the scope of the service worker registration. If
urlis omitted, it defaults to the scope of the service worker registration.
Return value
A Promise that resolves with undefined when the subscription completes.
Exceptions
Examples
Setting name and URL
In this example, the ServiceWorkerRegistration represented by registration is subscribing to change events on the cookie named "cookie1" with a scope of "/path1".
// Subscribe to a specific cookie and URL
const subscriptions = [{ name: "cookie1", url: `/path1` }];
await registration.cookies.subscribe(subscriptions);
Setting name only
In this example, we set only name and omit url: the subscription applies to all cookies named cookie1 within the service worker's scope.
// Subscribe to all cookies named "cookie1" in the registration scope
await registration.cookies.subscribe([{ name: "cookie1" }]);
Setting URL only
In this example we set only url, and omit name: the subscription applies to all cookies within the specified URL scope.
// Subscribe to all cookie changes within a specific path
await registration.cookies.subscribe([{ url: "/path/one/" }]);
Subscribing to all cookies
In this example, both name and url are omitted. The subscription applies to all cookies within the service worker's scope.
// Subscribe to all cookie changes within the entire registration scope
await registration.cookies.subscribe([{}]);
Setting a URL outside the service worker's scope
If the URL is outside the service worker's scope, subscribe() will throw a TypeError.
await registration.cookies.subscribe([
{ name: "cookie1", url: "/out-of-scope/" },
]);
Specifications
| Specification |
|---|
| Cookie Store API # dom-cookiestoremanager-subscribe |
Browser compatibility
| desktop | mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
subscribe
|
|
|
|
|
|
|
|
|
|
|
|
|
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support