CookieStore: get() メソッド
Baseline
2025
*
最近利用可能
June 2025以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。
Want more support for this feature? Tell us why.
* この機能の一部は、対応レベルが異なる場合があります。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はサービスワーカー内で利用可能です。
get() は CookieStore インターフェイスのメソッドは、指定された name または options オブジェクトに一致する単一の Cookie に解決される Promise を返します。このメソッドは、一致する最初の Cookie を返します。
構文
get(name)
get(options)
引数
このメソッドは、以下のいずれかが必要です。
name省略可-
Cookie の名前が入っている文字列です。
または
options省略可-
オブジェクトは以下のプロパティを含みます。
メモ:
url オプションは、特定の URL をスコープとした Cookie の変更を可能にします。サービスワーカーは、自分のスコープ下にある任意の URL に送信される Cookie を取得できます。文書からは現在の URL の Cookie しか取得できないので、文書コンテキストで有効な URL は文書の URL のみとなります。
返値
Promise で、送信された name または options に一致する最初の Cookie を表すオブジェクトに解決されます。一致する Cookie がない場合は null になります。
一致した結果として返されるオブジェクトには、以下のプロパティが含まれています。
domain-
Cookie のドメインを含む文字列です。
expires-
Cookie の期限が入ったタイムスタンプで、ミリ秒単位の Unix 時刻です。
name-
Cookie の名前を含む文字列です。
partitioned-
論理値で、Cookie がパーティション化 Cookie であるか (
true) そうでないか (false) を表します。詳しくは 個別区画化された状態を持つクッキー (CHIPS) を参照してください。 path-
Cookie のパスを含む文字列です。
sameSitesecure-
論理値で、この Cookie が保護されたコンテキストでのみ使用されるか (
true) またはそうではないか (false) を示します。 value-
この Cookie の値が入った文字列です。
例外
SecurityErrorDOMException-
オリジンが URL にシリアライズできない場合に発生します。
TypeError-
以下の場合に発生します。
options引数が空オブジェクトであった。- このメソッドがメインスレッドで呼び出され、
urlオプションが指定されているものの、現在のウィンドウの URL と一致していない。 - このメソッドはワーカー内で呼び出されており、
urlオプションが指定されていますが、その値はワーカーのオリジンと一致していない。 - 指定された
nameまたはoptionsで表される Cookie のクエリーに失敗した。
例
Cookie を名前で取得する
この例では、名前を指定して特定の Cookie を取得する方法を示しています。
このコードはまず、CookieStore.set() を使用して "cookie1" という名前付きの Cookie を作成し、エラーがあればコンソールに記録します。
次に、get() を待機して、その Cookie に関する情報を取得します。
返されたプロミスがオブジェクトで解決された場合は、その Cookie をコンソールに記録します。そうでない場合は、一致する Cookie が見つからなかったことをコンソールに記録します。
async function cookieTest() {
// Set test cookie
try {
await cookieStore.set("cookie1", "cookie1-value");
} catch (error) {
console.log(`Error setting cookie1: ${error}`);
}
// Get cookie, specifying name
const cookie = await cookieStore.get("cookie1");
if (cookie) {
console.log(cookie);
} else {
console.log("cookie1: Cookie not found");
}
}
cookieTest();
仕様書
| 仕様書 |
|---|
| Cookie Store API> # dom-cookiestore-get> |