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:
- Zuerst wird das zu aktualisierende Cookie vollständig entfernt, was eine Benachrichtigung mit einem
cookies.OnChangedCause
vonoverwrite
erzeugt. - Anschließend wird ein neues Cookie mit den aktualisierten Werten geschrieben, was eine zweite Benachrichtigung mit einem
cookies.OnChangedCause
vonexplicit
erzeugt.
Syntax
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 Lauschen auf dieses Ereignis. Das Argument
listener
ist der zu entfernende Listener. hasListener(listener)
-
Überprüft, ob
listener
für dieses Ereignis registriert ist. Gibttrue
zurück, wenn es zuhört, andernfallsfalse
.
addListener Syntax
Parameter
listener
-
Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion werden diese Argumente übergeben:
changeInfo
-
Ein
object
, das Details über die aufgetretene Änderung enthält. Seine Eigenschaften sind wie folgt:removed
-
Ein
boolean
, der auftrue
gesetzt wird, wenn ein Cookie entfernt wurde, andernfalls auffalse
. -
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 repräsentiert.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
Dieses Beispiel hört auf onChanged
Ereignisse und protokolliert Details aus dem changeInfo
Argument:
browser.cookies.onChanged.addListener((changeInfo) => {
console.log(
`Cookie changed: \n` +
` * Cookie: ${JSON.stringify(changeInfo.cookie)}\n` +
` * Cause: ${changeInfo.cause}\n` +
` * Removed: ${changeInfo.removed}`,
);
});
Beispiel-Erweiterungen
Hinweis: Diese API basiert auf der chrome.cookies
API von Chromium. Diese Dokumentation wurde von cookies.json
im Chromium Code abgeleitet.