CookieStoreManager: subscribe() Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Service Workers verfügbar.
Die subscribe() Methode des CookieStoreManager Schnittstelle meldet eine ServiceWorkerRegistration für Cookie-Änderungsereignisse an.
Doppelte Abonnements werden ignoriert: Das heißt, wenn ein Service Worker sich mehrmals für dasselbe Cookie anmeldet, erhält er jede Änderungsbenachrichtigung nur einmal.
Syntax
subscribe(subscriptions)
Parameter
subscriptions-
Ein Array von Objekten, die jeweils die folgenden Eigenschaften haben:
nameOptional-
Ein String, der dem Namen eines Cookies entspricht. Wenn
nameweggelassen wird, meldet sich der Service Worker für Änderungsereignisse aller Cookies im Gültigkeitsbereich an. urlOptional-
Ein String, der der URL eines Cookie-Gültigkeitsbereichs entspricht. Dieser kann enger als der Gültigkeitsbereich der Service Worker-Registrierung sein. Wenn
urlweggelassen wird, ist der Standardwert der Gültigkeitsbereich der Service Worker-Registrierung.
Rückgabewert
Ein Promise, das mit undefined aufgelöst wird, wenn das Abonnement abgeschlossen ist.
Ausnahmen
Beispiele
>Festlegung von Name und URL
In diesem Beispiel meldet sich die ServiceWorkerRegistration, die durch registration dargestellt wird, für Änderungsereignisse des Cookies mit dem Namen "cookie1" und einem Gültigkeitsbereich von "/path1" an.
// Subscribe to a specific cookie and URL
const subscriptions = [{ name: "cookie1", url: `/path1` }];
await registration.cookies.subscribe(subscriptions);
Nur den Namen festlegen
In diesem Beispiel setzen wir nur name und lassen url weg: Das Abonnement gilt für alle Cookies mit dem Namen cookie1 im Gültigkeitsbereich des Service Workers.
// Subscribe to all cookies named "cookie1" in the registration scope
await registration.cookies.subscribe([{ name: "cookie1" }]);
Nur die URL festlegen
In diesem Beispiel setzen wir nur url und lassen name weg: Das Abonnement gilt für alle Cookies im angegebenen URL-Gültigkeitsbereich.
// Subscribe to all cookie changes within a specific path
await registration.cookies.subscribe([{ url: "/path/one/" }]);
Anmeldung für alle Cookies
In diesem Beispiel werden sowohl name als auch url weggelassen. Das Abonnement gilt für alle Cookies im Gültigkeitsbereich des Service Workers.
// Subscribe to all cookie changes within the entire registration scope
await registration.cookies.subscribe([{}]);
Eine URL außerhalb des Gültigkeitsbereichs des Service Workers setzen
Wenn die URL außerhalb des Gültigkeitsbereichs des Service Workers liegt, wird subscribe() einen TypeError auslösen.
await registration.cookies.subscribe([
{ name: "cookie1", url: "/out-of-scope/" },
]);
Spezifikationen
| Spezifikation |
|---|
| Cookie Store API> # dom-cookiestoremanager-subscribe> |