cookies.set()

Die set()-Methode der cookies API setzt ein Cookie mit den angegebenen Cookie-Daten. Diese Methode entspricht dem Senden eines HTTP-Set-Cookie-Headers während einer Anfrage an eine gegebene URL.

Um diese Methode zu verwenden, muss eine Erweiterung über die Berechtigung "cookies" und die entsprechenden Host-Berechtigungen verfügen. Weitere Details finden Sie unter cookie-Berechtigungen.

Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.

Syntax

js
let setting = browser.cookies.set(
  details               // object
)

Parameter

details

Ein object, das die Details des Cookies enthält, das Sie setzen möchten. Es kann folgende Eigenschaften haben:

domain Optional

Ein string, der die Domain des Cookies darstellt. Wenn weggelassen, wird das Cookie zu einem Host-only-Cookie.

expirationDate Optional

Eine number, die das Ablaufdatum des Cookies als Anzahl der Sekunden seit der UNIX-Epoche darstellt. Wenn weggelassen, wird das Cookie zu einem Sitzungscookie.

firstPartyDomain Optional

Ein string, der die Erstanbieter-Domain darstellt, mit der das Cookie verknüpft ist. Diese Eigenschaft muss angegeben werden, wenn der Browser die Erstanbieter-Isolation aktiviert hat. Siehe Erstanbieter-Isolation.

httpOnly Optional

Ein boolean, das angibt, ob das Cookie als HttpOnly (true) markiert ist oder nicht (false). Wenn weggelassen, ist der Standardwert false.

name Optional

Ein string, der den Namen des Cookies darstellt. Wenn weggelassen, ist dies standardmäßig leer.

partitionKey Optional

Ein object, das die Speicherpartition darstellt, in der das Cookie gesetzt wird. Fügen Sie dieses Objekt hinzu, um ein Cookie in partitioniertem Speicher zu setzen. Dieses Objekt enthält:

topLevelSite Optional

Ein string, der die Erstanbieter-URL der obersten Seiten-Speicherpartition darstellt, die das Cookie enthält.

path Optional

Ein string, der den Pfad des Cookies darstellt. Wenn weggelassen, ist der Standardwert der Pfadanteil des URL-Parameters.

sameSite Optional

Ein cookies.SameSiteStatus-Wert, der den SameSite-Status des Cookies angibt. Wenn weggelassen, ist der Standardwert unspecified.

secure Optional

Ein boolean, das angibt, ob das Cookie als sicher (true) markiert ist oder nicht (false). Wenn weggelassen, ist der Standardwert false.

storeId Optional

Ein string, der die ID des Cookie-Speichers darstellt, in dem das Cookie gesetzt werden soll. Wenn weggelassen, wird das Cookie im Cookie-Speicher des aktuellen Ausführungskontexts gesetzt.

url

Ein string, der die Anfrage-URI darstellt, die mit dem Cookie verknüpft wird. Dieser Wert kann die Standardwerte für Domain und Pfad des erstellten Cookies beeinflussen. Wenn keine Host-Berechtigungen für diese URL in der Manifestdatei angegeben sind, schlägt der Methodenaufruf fehl.

value Optional

Ein string, der den Wert des Cookies darstellt. Wenn weggelassen, ist dies standardmäßig leer.

Rückgabewert

Ein Promise, das mit einem cookies.Cookie-Objekt erfüllt wird, das Details über das gesetzte Cookie enthält.

Wenn es mehr als ein Cookie mit demselben Namen für eine URL gibt, wird das Cookie mit dem längsten Pfad zurückgegeben. Für Cookies mit gleicher Pfadlänge wird das Cookie mit der frühesten Erstellungszeit zurückgegeben.

Hinweis: Vor Firefox 133, wenn es mehr als ein Cookie mit demselben Namen gab, gab Firefox das Cookie mit der frühesten Erstellungszeit zurück.

Wenn der Aufruf fehlschlägt, wird das Versprechen mit einer Fehlermeldung abgelehnt.

Beispiele

Dieses Beispiel setzt ein Cookie für das Dokument des aktiven Tabs:

js
let getActive = browser.tabs.query({ active: true, currentWindow: true });
getActive.then(setCookie);

function setCookie(tabs) {
  browser.cookies.set({
    url: tabs[0].url,
    name: "favorite-color",
    value: "red",
  });
}

Beispielerweiterungen

Browser-Kompatibilität

Hinweis: Diese API basiert auf Chromiums chrome.cookies API. Diese Dokumentation ist abgeleitet von cookies.json im Chromium-Code.