CookieStoreManager: subscribe() Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
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> |