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 die Berechtigung "cookies"
und relevante Hostberechtigungen haben. Weitere Informationen finden Sie unter cookie
Berechtigungen.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
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 Domain des Cookies darstellt. Falls 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. Falls weggelassen, wird das Cookie zu einem Sitzungscookie. firstPartyDomain
Optional-
Ein
string
, der die First-Party-Domäne darstellt, mit der das Cookie verknüpft ist. Diese Eigenschaft muss angegeben werden, wenn der Browser First-Party-Isolierung aktiviert hat. Siehe First-Party-Isolierung. httpOnly
Optional-
Ein
boolean
, das angibt, ob das Cookie als HttpOnly (true
) markiert ist oder nicht (false
). Falls weggelassen, ist der Standardwertfalse
. name
Optional-
Ein
string
, der den Namen des Cookies darstellt. Falls weggelassen, ist dies standardmäßig leer. partitionKey
Optional-
Ein
object
, das die storage partition darstellt, in der das Cookie gesetzt wird. 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 Top-Level-Site-Speicherpartition darstellt, welche das Cookie enthält.
path
Optional-
Ein
string
, das den Pfad des Cookies darstellt. Falls weggelassen, entspricht dies standardmäßig dem Pfadanteil des URL-Parameters. sameSite
Optional-
Ein
cookies.SameSiteStatus
Wert, der den SameSite-Status des Cookies angibt. Falls weggelassen, ist der Standardwertunspecified
. secure
Optional-
Ein
boolean
, das angibt, ob das Cookie als sicher (true
) markiert ist oder nicht (false
). Falls weggelassen, ist der Standardwertfalse
. storeId
Optional-
Ein
string
, das die ID des Cookie-Stores darstellt, in dem das Cookie gesetzt wird. Falls weggelassen, wird das Cookie im Cookie-Store des aktuellen Ausführungskontextes gesetzt. url
-
Ein
string
, das die Request-URI darstellt, die dem Cookie zugeordnet wird. Dieser Wert kann die Standardwerte für Domain und Pfad des erstellten Cookies beeinflussen. Falls Hostberechtigungen für diese URL nicht in der Manifestdatei angegeben sind, schlägt der Methodenaufruf fehl. value
Optional-
Ein
string
, der den Wert des Cookies darstellt. Falls 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 derselben Pfadlänge wird das Cookie mit der frühesten Erstellungszeit zurückgegeben.
Hinweis: Vor Firefox 133 hat Firefox, wenn es mehr als ein Cookie mit demselben Namen gab, das Cookie mit der frühesten Erstellungszeit zurückgegeben.
Wenn der Aufruf fehlschlägt, wird das Promise mit einer Fehlermeldung abgelehnt.
Beispiele
Dieses Beispiel setzt ein Cookie für das Dokument, das durch den aktiven Tab gehostet wird:
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 der Chromium-API chrome.cookies
. Diese Dokumentation ist abgeleitet von cookies.json
im Chromium-Code.