このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

CookieStore: getAll() メソッド

Baseline 2025
最近利用可能

June 2025以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。

Want more support for this feature? Tell us why.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

メモ: この機能はサービスワーカー内で利用可能です。

getAll()CookieStore インターフェイスのメソッドで、渡された名前またはオプションに一致する Cookie の配列で解決する Promise を返します。何も引数を渡さなければ、現在のコンテキストのすべての Cookie を返します。

構文

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

引数

name 省略可

Cookie の名前が入っている文字列です。

または

options 省略可

以下のプロパティを持つ文字列です。

name

Cookie の名前が入っている文字列です。

url

Cookie の URL が入っている文字列です。

メモ: url オプションは、特定の URL をスコープとした Cookie の変更を可能にします。サービスワーカーは、自分のスコープ下にある任意の URL に送信される Cookie を取得できます。文書からは現在の URL の Cookie しか取得できないので、文書コンテキストで有効な URL は文書の URL のみとなります。

返値

指定された name または options に一致する Cookie を表すオブジェクトの配列で解決する Promise です。

各オブジェクトは、以下のプロパティを持ちます。

domain

Cookie のドメインを持つ文字列です。

expires

Cookie の期限が入ったタイムスタンプで、ミリ秒単位の Unix 時刻です。

name

Cookie の名前が入った文字列です。

partitioned

論理値で、 Cookie がパーティション化 Cookie であるか (true) そうでないか (false) を表します。詳しくは個別区画化された状態を持つ Cookie (CHIPS) を参照してください。

path

Cookie のパスが入った文字列です。

sameSite

SameSite 値("strict""lax""none")のいずれかです。

secure

論理値で、この Cookie が保護されたコンテキストでのみ使用されるか (true) またはそうではないか (false) を示します。

value

この Cookie の値が入った文字列です。

例外

SecurityError DOMException

オリジンが URL にシリアライズできない場合に発生します。

TypeError

以下の場合に発生します。

  • このメソッドがメインスレッドで呼び出され、url オプションが指定されているものの、現在のウィンドウの URL と一致していない。
  • このメソッドはワーカー内で呼び出されており、url オプションが指定されていますが、その値はワーカーのオリジンと一致していない。
  • 指定された name または options で表される Cookie のクエリーに失敗した。

この例では、現在のコンテキストにあるすべての Cookie を取得する方法を示します。 まず、テスト用 Cookie ("cookie1" および "cookie2")を作成し、エラーが発生した場合はそれをログ出力する setTestCookies() を定義します。

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}`);
  }
}

cookieTest() メソッドは setTestCookies() を呼び出し、その後 getAll() の完了を待ちます。 これにより、このコンテキストのすべての Cookie をオブジェクトの配列として返す Promise が返されます。 Cookie がない場合は、空の配列が返されます。 返されたプロミスが Cookie 情報を含む配列で解決された場合、その配列を反復処理し、それぞれの Cookie ("cookie1" および "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");
  }
}

仕様書

仕様書
Cookie Store API
# dom-cookiestore-getall

ブラウザーの互換性