CookieStore: set() Methode
Baseline 2025>
Neu verfügbar
*
Seit Juni 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Want more browser support for this feature? Tell us why.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Service Workers verfügbar.
Die set() Methode der CookieStore-Schnittstelle setzt ein Cookie mit dem gegebenen name und value oder einem options-Objekt.
Syntax
set(name, value)
set(options)
Parameter
Diese Methode erfordert eines der folgenden:
nameOptional-
Ein String mit dem Namen des Cookies.
valueOptional-
Ein String mit dem Wert des Cookies.
Oder
optionsOptional-
Ein Objekt, das Folgendes enthält:
domainOptional-
Ein String, der die Domain des Cookies enthält. Standardmäßig
null. expiresOptional-
Ein Zeitstempel, angegeben als Unix-Zeit in Millisekunden, der das Ablaufdatum des Cookies enthält. Standardmäßig
null. maxAgeOptional-
Eine Zahl, die die Anzahl der Sekunden bis zum Ablauf des Cookies darstellt. Eine Null oder eine negative Zahl führt dazu, dass das Cookie sofort abläuft. Wenn sowohl
expiresals auchmaxAgegesetzt sind, schlägt derset()-Aufruf mit einemTypeErrorfehl. Standardmäßignull. name-
Ein String mit dem Namen eines Cookies.
partitionedOptional-
Ein boolescher Wert, der standardmäßig
falseist. Wenn auftruegesetzt, wird das gesetzte Cookie ein partitioniertes Cookie. Siehe Cookies mit unabhängigen partitionierten Zuständen (CHIPS) für weitere Informationen. pathOptional-
Ein String, der den Pfad des Cookies enthält. Standardmäßig
/. sameSiteOptional-
Einer der folgenden
SameSiteWerte:"strict","lax"oder"none". value-
Ein String mit dem Wert des Cookies.
Hinweis:
Auch wenn die Werte hier gesetzt werden können und intern verwendet werden, werden einige Browser nur die name- und value-Optionen von CookieStore.get() und CookieStore.getAll() zurückgeben.
Rückgabewert
Ein Promise, das sich mit undefined auflöst, wenn das Setzen des Cookies abgeschlossen ist.
Ausnahmen
SecurityErrorDOMException-
Wird geworfen, wenn der Ursprung nicht zu einer URL serialisiert werden kann.
TypeError-
Wird geworfen, wenn:
- Sowohl die Eigenschaften
expiresals auchmaxAgegesetzt sind. - Das Setzen des Cookies mit dem gegebenen
nameundvalueoderoptionsauf andere Weise fehlschlägt.
- Sowohl die Eigenschaften
Beispiele
Setzen eines Cookies mit Name und Wert
Dieses Beispiel setzt ein Cookie, indem ein name und value von "cookie1" und "cookie1-value" übergeben wird.
Die anderen Eigenschaften des Cookies werden mit den Standardwerten gesetzt, wie im options-Parameter definiert.
Der Code wartet zuerst darauf, dass das Cookie gesetzt wird: Da dieser Vorgang fehlschlagen kann, wird er in einem try...catch-Block ausgeführt und alle Fehler werden in die Konsole protokolliert.
Anschließend wird das gerade gesetzte Cookie abgerufen und protokolliert.
async function cookieTest() {
// Set cookie: passing name and value
try {
await cookieStore.set("cookie1", "cookie1-value");
} catch (error) {
console.log(`Error setting cookie1: ${error}`);
}
// Get the cookie and log its values
const cookie = await cookieStore.get("cookie1");
console.log(cookie);
}
Setzen eines Cookies mit Optionen
Dieses Beispiel setzt ein Cookie, indem ein options-Objekt mit name, value, expires und partitioned übergeben wird.
Der Code wartet zuerst darauf, dass das Cookie gesetzt wird: Da dieser Vorgang fehlschlagen kann, wird er in einem try...catch-Block ausgeführt und alle Fehler werden in die Konsole protokolliert.
Anschließend wird das gerade gesetzte Cookie abgerufen und protokolliert.
async function cookieTest() {
const day = 24 * 60 * 60 * 1000;
const cookieName = "cookie2";
try {
// Set cookie: passing options
await cookieStore.set({
name: cookieName,
value: `${cookieName}-value`,
expires: Date.now() + day,
partitioned: true,
});
} catch (error) {
log(`Error setting ${cookieName}: ${error}`);
console.log(error);
}
// Log the new cookie
const cookie = await cookieStore.get(cookieName);
console.log(cookie);
}
Setzen von Cookies mit demselben Namen
Diese Aufrufe erzeugen zwei separate Cookies, da ihre Pfade unterschiedlich sind:
await cookieStore.set({ name: "theme", value: "light", path: "/" });
await cookieStore.set({ name: "theme", value: "dark", path: "/docs" });
Auf einer Seite unter /docs/ kann cookieStore.getAll("theme") beide Cookies abrufen. Der Aufruf von cookieStore.set("theme", "blue") aktualisiert das Cookie am Standardpfad /, während das /docs-Cookie unverändert bleibt.
Spezifikationen
| Spezifikation |
|---|
| Cookie Store API> # dom-cookiestore-set> |