Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
ExtendableCookieChangeEvent
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: Diese Funktion ist nur in Service Workers verfügbar.
Die ExtendableCookieChangeEvent-Schnittstelle der Cookie Store API ist der Ereignistyp, der an das cookiechange-Ereignis übergeben wird, das im ServiceWorkerGlobalScope ausgelöst wird, wenn Änderungen an Cookies auftreten, die der Cookie-Änderungs-Abonnementliste des Service-Workers entsprechen. Ein Cookie-Änderungsereignis besteht aus einem Cookie und einem Typ (entweder "changed" oder "deleted").
Cookie-Änderungen, die dazu führen, dass das ExtendableCookieChangeEvent ausgelöst wird, sind:
- Ein Cookie wird neu erstellt und nicht sofort entfernt oder wird ersetzt.
In diesem Fall ist
type"changed". - Ein Cookie wird neu erstellt und sofort entfernt.
In diesem Fall ist
type"deleted". - Ein Cookie wird entfernt. In diesem Fall ist
type"deleted".
Konstruktor
-
Erstellt ein neues
ExtendableCookieChangeEvent.
Instanz-Eigenschaften
Diese Schnittstelle erbt auch Eigenschaften von ExtendableEvent.
-
Gibt ein Array zurück, das die geänderten Cookies enthält.
-
Gibt ein Array zurück, das die gelöschten Cookies enthält.
Instanz-Methoden
Diese Schnittstelle erbt auch Methoden von ExtendableEvent.
Beispiele
Im folgenden Beispiel verwenden wir CookieStoreManager.getSubscriptions(), um eine Liste der bestehenden Abonnements zu erhalten. (In Service-Workern ist ein Abonnement erforderlich, um Ereignisse empfangen zu können.) Wir kündigen bestehende Abonnements mit CookieStoreManager.unsubscribe(), und abonnieren dann das Cookie mit dem Namen 'COOKIE_NAME' mit CookieStoreManager.subscribe(). Wenn dieses Cookie geändert wird, protokolliert der Ereignis-Listener das Ereignis in der Konsole. Dies wird ein ExtendableCookieChangeEvent-Objekt sein, mit der Eigenschaft changed oder deleted, die das geänderte Cookie enthält.
self.addEventListener("activate", (event) => {
event.waitUntil(async () => {
const subscriptions = await self.registration.cookies.getSubscriptions();
await self.registration.cookies.unsubscribe(subscriptions);
await self.registration.cookies.subscribe([
{
name: "COOKIE_NAME",
},
]);
});
});
self.addEventListener("cookiechange", (event) => {
console.log(event);
});
Spezifikationen
| Specification |
|---|
| Cookie Store API> # ExtendableCookieChangeEvent> |
Browser-Kompatibilität
Enable JavaScript to view this browser compatibility table.