CookieStore: getAll() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 getAll()
-Methode der CookieStore
-Schnittstelle gibt ein Promise
zurück, das als Array von Cookies aufgelöst wird, die mit dem übergebenen name
oder den options
übereinstimmen.
Ohne Parameter werden alle Cookies für den aktuellen Kontext zurückgegeben.
Syntax
getAll()
getAll(name)
getAll(options)
Parameter
name
Optional-
Ein Zeichenfolgenwert mit dem Namen eines Cookies.
Oder
options
Optional-
Ein Objekt, das Folgendes enthält:
Hinweis:
Die url
-Option ermöglicht die Modifikation eines Cookies, das unter einer bestimmten URL definiert ist. Service Worker können Cookies erhalten, die an jede URL unter ihrem Gültigkeitsbereich gesendet würden. Innerhalb eines Dokuments können Sie nur die Cookies an der aktuellen URL abrufen, daher ist die einzige gültige URL in einem Dokumentkontext die URL des Dokuments selbst.
Rückgabewert
Ein Promise
, das mit einem Array von Objekten aufgelöst wird, die Cookies darstellen, die dem gegebenen name
oder den options
entsprechen.
Jedes Objekt enthält die folgenden Eigenschaften:
domain
-
Eine Zeichenfolge, die die Domäne des Cookies enthält.
expires
-
Ein Zeitstempel im Unix-Zeit-Format in Millisekunden, der das Ablaufdatum des Cookies enthält.
name
-
Eine Zeichenfolge, die den Namen des Cookies enthält.
partitioned
-
Ein boolescher Wert, der angibt, ob es sich um ein partitioniertes Cookie handelt (
true
) oder nicht (false
). Siehe Cookies mit unabhängiger partitionierter Zustandsverwaltung (CHIPS) für weitere Informationen. path
-
Eine Zeichenfolge, die den Pfad des Cookies enthält.
sameSite
-
Einer der folgenden
SameSite
-Werte:"strict"
,"lax"
oder"none"
. secure
-
Ein boolescher Wert, der angibt, ob das Cookie nur in sicheren Kontexten verwendet werden soll (
true
) oder nicht (false
). value
-
Eine Zeichenfolge, die den Wert des Cookies enthält.
Ausnahmen
SecurityError
DOMException
-
Wird ausgelöst, wenn der Ursprung nicht zu einer URL serialisiert wird.
TypeError
-
Wird ausgelöst, wenn:
- Die Methode im Hauptthread aufgerufen wird und die
url
-Option angegeben ist, aber nicht mit der URL des aktuellen Fensters übereinstimmt. - Die Methode in einem Worker aufgerufen wird und die
url
-Option angegeben ist, aber nicht mit dem Ursprung des Workers übereinstimmt. - Die Abfrage nach Cookies, die durch den angegebenen
name
oder dieoptions
dargestellt werden, fehlschlägt.
- Die Methode im Hauptthread aufgerufen wird und die
Beispiele
Alle Cookies für diesen Kontext abrufen
Dieses Beispiel zeigt, wie man alle Cookies im aktuellen Kontext erhält.
Zuerst definieren wir setTestCookies()
, die die Test-Cookies "cookie1" und "cookie2" erstellt und auftretende Fehler protokolliert.
async function setTestCookies() {
// Set two cookies
try {
await cookieStore.set("cookie1", "cookie1-value");
} catch (error) {
console.log(`Error setting cookie1: ${error}`);
}
try {
await cookieStore.set("cookie2", "cookie2-value");
} catch (error) {
console.log(`Error setting cookie2: ${error}`);
}
}
Die cookieTest()
-Methode ruft setTestCookies()
auf und wartet anschließend auf getAll()
.
Dies gibt ein Promise
zurück, das mit allen Cookies für diesen Kontext als Array von Objekten aufgelöst wird, oder mit einem leeren Array, wenn keine Cookies vorhanden sind.
Wenn das zurückgegebene Promise mit einem Array, das Cookie-Informationen enthält, aufgelöst wird, iterieren wir durch das Array und protokollieren jedes Cookie ("cookie1" und "cookie2").
async function cookieTest() {
// Set our test cookies
await setTestCookies();
// Get all cookies
const cookies = await cookieStore.getAll();
// Iterate the cookies, or log that none were found
if (cookies.length > 0) {
console.log(`Found cookies: ${cookies.length}:`);
cookies.forEach((cookie) => console.log(cookie));
} else {
console.log("Cookies not found");
}
}
Spezifikationen
Specification |
---|
Cookie Store API # dom-cookiestore-getall |