CookieStore: set() メソッド
Baseline
2025
*
最近利用可能
June 2025以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。
Want more support for this feature? Tell us why.
* この機能の一部は、対応レベルが異なる場合があります。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はサービスワーカー内で利用可能です。
set() は CookieStore インターフェイスのメソッドで、渡された名前またはオプションオブジェクトに一致する Cookie のリストを返します。
構文
set(name, value)
set(options)
引数
このメソッドは、以下のいずれかが必要です。
または
options省略可-
オブジェクトは次のものを含みます。
domain省略可- : Cookie のドメインが入った文字列です。
expires省略可- : ミリ秒単位の Unix 時間によるタイムスタンプで、Cookie の有効期限が入ります。デフォルト値は
nullです。
- : ミリ秒単位の Unix 時間によるタイムスタンプで、Cookie の有効期限が入ります。デフォルト値は
maxAge省略可- : Cookie が失効するまでの秒数を表す数値です。0 または負の数値を指定すると、Cookie は直ちに失効します。
expiresとmaxAgeの両方が設定されている場合、set()の呼び出しはTypeErrorを発生させて失敗します。デフォルトはnullです。
- : Cookie が失効するまでの秒数を表す数値です。0 または負の数値を指定すると、Cookie は直ちに失効します。
name- : Cookie の名前が入った文字列です。
partitioned省略可- : 論理値で、既定値は
falseです。trueに設定すると、設定された Cookie はパーティション化された Cookie になります。詳しくは個別区画化された状態を持つ Cookie (CHIPS) を参照してください。
- : 論理値で、既定値は
path省略可- : Cookie のパスの入った文字列です。デフォルト値は
/です。
- : Cookie のパスの入った文字列です。デフォルト値は
sameSite省略可
-
SameSite値("strict"、"lax"、"none")のいずれかです。value-
Cookie の値が入った文字列です。
メモ:
ここで値を設定することは可能であり、内部的にはその値が使用されますが、一部のブラウザーでは、CookieStore.get() および CookieStore.getAll() から name と value のオプションのみが返される場合があります。
返値
例外
SecurityErrorDOMException-
オリジンが URL にシリアライズできない場合に発生します。
TypeError-
以下の場合に発生します。
expiresプロパティとmaxAgeプロパティの両方が設定されている。- 指定された
nameおよびvalue、あるいはoptionsをつけて Cookie を設定しようとしたところ、何らかの理由で失敗しした。
例
名前と値をつけた Cookie の設定
この例では、name に "cookie1"、value に "cookie1-value" をそれぞれ指定して、Cookie を設定しています。
Cookie のその他のプロパティは、options 引数で定義されているデフォルト値で設定されます。
コードはまず、Cookie が設定されるのを待ちます。この操作は失敗する可能性があるため、try...catch ブロック内で実行され、エラーが発生した場合はコンソールにログ出力されます。
その後、設定されたばかりの Cookie を取得して、コンソールにログ出力します。
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);
}
オプションを指定して Cookie を設定
この例では、name、value、expires、partitioned を含む options オブジェクトを渡すことで、Cookie を設定します。
コードはまず、Cookie が設定されるのを待ちます。この操作は失敗する可能性があるため、try...catch ブロック内で実行され、エラーが発生した場合はコンソールに記録されます。
その後、設定されたばかりの Cookie を取得して、コンソールに記録します。
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);
}
仕様書
| 仕様書 |
|---|
| Cookie Store API> # dom-cookiestore-set> |