cookies.onChanged

Das onChanged-Ereignis der cookies API wird ausgelöst, wenn ein Cookie, auf das die Erweiterung zugreifen kann, gesetzt oder entfernt wird.

Hinweis: Wenn Speicherpartitionierung aktiv ist, enthält cookies.Cookie.partitionKey die Beschreibung der Speicherpartition des Cookies. Beim Ändern von Cookies ist es wichtig, diesen Wert an cookies.set() oder cookies.remove() zu übergeben, um sicherzustellen, dass die Erweiterung mit dem richtigen Cookie arbeitet.

Beachten Sie, dass das Aktualisieren der Eigenschaften eines Cookies als zweistufiger Prozess implementiert ist:

  1. Zuerst wird das zu aktualisierende Cookie entfernt, wodurch eine Benachrichtigung mit einem cookies.OnChangedCause von overwrite erzeugt wird.
  2. Anschließend wird ein neues Cookie mit den aktualisierten Werten geschrieben, das eine zweite Benachrichtigung mit einem cookies.OnChangedCause von explicit erzeugt.

Syntax

js
browser.cookies.onChanged.addListener(listener)
browser.cookies.onChanged.removeListener(listener)
browser.cookies.onChanged.hasListener(listener)

Diese API ist auch als browser.cookies.onChanged.* verfügbar.

Ereignisse haben drei Funktionen:

addListener(listener)

Fügt diesem Ereignis einen Listener hinzu.

removeListener(listener)

Stoppt das Zuhören für dieses Ereignis. Das listener-Argument ist der zu entfernende Listener.

hasListener(listener)

Überprüft, ob listener für dieses Ereignis registriert ist. Gibt true zurück, wenn es zuhört, andernfalls false.

Syntax von addListener

Parameter

listener

Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion werden folgende Argumente übergeben:

changeInfo

Ein object, das Details über die eingetretene Änderung enthält. Seine Eigenschaften sind:

removed

Ein boolean, der auf true gesetzt ist, wenn ein Cookie entfernt wurde, und auf false, wenn nicht.

Ein cookies.Cookie-Objekt, das Informationen über das gesetzte oder entfernte Cookie enthält.

cause

Ein cookies.OnChangedCause-Wert, der den zugrunde liegenden Grund für die Änderung des Cookies darstellt.

Beispiele

Dieses Beispiel lauscht auf onChanged-Ereignisse und protokolliert Details aus dem changeInfo-Argument:

js
browser.cookies.onChanged.addListener((changeInfo) => {
  console.log(
    `Cookie changed: \n` +
      ` * Cookie: ${JSON.stringify(changeInfo.cookie)}\n` +
      ` * Cause: ${changeInfo.cause}\n` +
      ` * Removed: ${changeInfo.removed}`,
  );
});

Beispielerweiterungen

Browser-Kompatibilität

BCD tables only load in the browser

Hinweis: Diese API basiert auf der Chromium-API chrome.cookies. Diese Dokumentation leitet sich von cookies.json im Chromium-Code ab.