CookieStoreManager: subscribe() Methode

Limited availability

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

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Dieses Feature ist verfügbar in Service Workers.

Die subscribe() Methode der CookieStoreManager Schnittstelle abonniert ein ServiceWorkerRegistration für Cookie-Änderungsereignisse.

Syntax

js
subscribe(subscriptions)

Parameter

subscriptions

Ein Array von Objekten, die jeweils die folgenden Eigenschaften haben:

name

Ein String mit dem Namen eines Cookies.

url

Ein String mit der URL eines Cookie-Bereichs. Diese kann enger gefasst sein als der Bereich der Service Worker-Registrierung.

Rückgabewert

Ein Promise, das sich mit undefined auflöst, wenn das Abonnement abgeschlossen ist.

Ausnahmen

TypeError

Wird ausgelöst, wenn die in subscriptions übergebene URL nicht mit dem scope der Service Worker-Registrierung übereinstimmt.

Beispiele

In diesem Beispiel abonniert die durch registration dargestellte ServiceWorkerRegistration Änderungsereignisse für das Cookie mit dem Namen "cookie1" und einem Bereich von "/path1".

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

Die URL, die der subscribe() Methode übergeben wird, kann enger gefasst sein als der Service Worker-Registrierungsbereich. Im folgenden Beispiel ist das Abonnement für /path/one/, sodass es Änderungsereignisse für Änderungen am ersten Cookie, aber nicht am zweiten, erhält.

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

Spezifikationen

Specification
Cookie Store API
# dom-cookiestoremanager-subscribe

Browser-Kompatibilität

BCD tables only load in the browser