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.

Das ExtendableCookieChangeEvent Interface 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 mit der Cookie-Änderungsabo-Liste des Service Workers übereinstimmen. Ein Cookie-Änderungsereignis besteht aus einem Cookie und einem Typ (entweder "changed" oder "deleted").

Cookie-Änderungen, die das ExtendableCookieChangeEvent auslösen, sind:

  • Ein Cookie wird neu erstellt und nicht sofort entfernt. 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".

Hinweis: Ein Cookie, das aufgrund der Einfügung eines anderen Cookies mit demselben Namen, derselben Domain und demselben Pfad ersetzt wird, wird ignoriert und löst kein Änderungsereignis aus.

Event ExtendableEvent ExtendableCookieChangeEvent

Konstruktor

ExtendableCookieChangeEvent()

Erstellt ein neues ExtendableCookieChangeEvent.

Instanz-Eigenschaften

Dieses Interface erbt auch Eigenschaften von ExtendableEvent.

ExtendableCookieChangeEvent.changed Schreibgeschützt

Gibt ein Array mit den geänderten Cookies zurück.

ExtendableCookieChangeEvent.deleted Schreibgeschützt

Gibt ein Array mit den gelöschten Cookies zurück.

Instanz-Methoden

Dieses Interface erbt auch Methoden von ExtendableEvent.

Beispiele

Im folgenden Beispiel verwenden wir CookieStoreManager.getSubscriptions(), um eine Liste bestehender Abonnements zu erhalten. (In Service Workern ist ein Abonnement erforderlich, um Ereignisse zu lauschen.) Wir melden uns von bestehenden Abonnements mit CookieStoreManager.unsubscribe() ab und abonnieren dann das Cookie mit dem Namen 'COOKIE_NAME' mit CookieStoreManager.subscribe(). Wenn dieses Cookie geändert wird, protokolliert der Ereignislistener das Ereignis in der Konsole. Dies wird ein ExtendableCookieChangeEvent Objekt sein, mit der changed oder deleted Eigenschaft, 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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
ExtendableCookieChangeEvent
ExtendableCookieChangeEvent() constructor
changed
partitioned property
Experimental
deleted
partitioned property
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.