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-Header bei einer Anfrage an eine gegebene URL.

Der Aufruf ist nur erfolgreich, wenn Sie die "cookies" API-Berechtigung in Ihrer manifest.json-Datei einfügen, sowie Host-Berechtigungen für die angegebene URL, die in ihrem Manifest angegeben ist. Die angegebene URL benötigt außerdem die erforderlichen Berechtigungen, um ein Cookie mit den angegebenen Parametern zu erstellen.

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 die folgenden Eigenschaften haben:

domain Optional

Ein string, der die Domäne des Cookies repräsentiert. Wenn ausgelassen, wird das Cookie zu einem host-spezifischen Cookie.

expirationDate Optional

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

firstPartyDomain Optional

Ein string, der die First-Party-Domäne repräsentiert, mit der das Cookie verknüpft wird. Diese Eigenschaft muss angegeben werden, wenn der Browser die First-Party-Isolation aktiviert hat. Siehe First-party isolation.

httpOnly Optional

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

name Optional

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

partitionKey Optional

Ein object, das die Speicherpartition repräsentiert, in der das Cookie gesetzt werden soll. Schließen Sie dieses Objekt ein, um ein Cookie in partitioniertem Speicher zu setzen. Dieses Objekt enthält:

topLevelSite Optional

Ein string, das die First-Party-URL der obersten Speicherpartition des Webseiten-Headers enthält, die das Cookie enthält.

path Optional

Ein string, der den Pfad des Cookies repräsentiert. Wenn ausgelassen, ist der Standardwert der Pfadanteil des URL-Parameters.

sameSite Optional

Ein cookies.SameSiteStatus-Wert, der den SameSite-Status des Cookies angibt. Wenn ausgelassen, ist der Standardwert 0, 'no_restriction'.

secure Optional

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

storeId Optional

Ein string, das die ID des Cookie-Speicherorts repräsentiert, in dem das Cookie gesetzt werden soll. Wenn ausgelassen, wird das Cookie standardmäßig im Cookie-Speicher des aktuellen Ausführungskontexts gesetzt.

url

Ein string, der die Anforderungs-URI repräsentiert, die mit dem Cookie verknüpft werden soll. Dieser Wert kann die Standard-Domänen- und Pfadwerte des erstellten Cookies beeinflussen. Wenn im Manifest keine Host-Berechtigungen für diese URL angegeben sind, wird der Methodenaufruf fehlschlagen.

value Optional

Ein string, das den Wert des Cookies repräsentiert. Wenn ausgelassen, ist dieser 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 der Aufruf aus irgendeinem Grund fehlschlägt, wird das Promise mit einer Fehlermeldung abgelehnt.

Browser-Kompatibilität

BCD tables only load in the browser

Beispiele

Dieses Beispiel setzt ein Cookie für das Dokument, das vom derzeit aktiven Tab gehostet wird:

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",
  });
}

Beispiel-Erweiterungen

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