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

js
getAll()
getAll(name)
getAll(options)

Parameter

name Optional

Ein Zeichenfolgenwert mit dem Namen eines Cookies.

Oder

options Optional

Ein Objekt, das Folgendes enthält:

name

Ein Zeichenfolgenwert mit dem Namen eines Cookies.

url

Eine Zeichenfolge mit der URL eines Cookies.

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 die options dargestellt werden, fehlschlägt.

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.

js
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").

js
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

Browser-Kompatibilität