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".
Event ExtendableEvent ExtendableCookieChangeEvent

Konstruktor

ExtendableCookieChangeEvent()

Erstellt ein neues ExtendableCookieChangeEvent.

Instanz-Eigenschaften

Diese Schnittstelle erbt auch Eigenschaften von ExtendableEvent.

ExtendableCookieChangeEvent.changed Schreibgeschützt

Gibt ein Array zurück, das die geänderten Cookies enthält.

ExtendableCookieChangeEvent.deleted Schreibgeschützt

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.

js
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