CookieStore: set() メソッド

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

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

set()CookieStore インターフェイスのメソッドで、渡された名前またはオプションオブジェクトに一致する Cookie のリストを返します。

構文

js
set(name, value)
set(options)

引数

このメソッドは、以下のいずれかが必要です。

name

Cookie の名前の文字列です。

value

Cookie の値の文字列です。

または

options

オブジェクトは次のものを含みます。

domain 省略可

Cookie のドメインが入った文字列です。

expires 省略可

ミリ秒単位の Unix 時間によるタイムスタンプで、Cookie の有効期限が入ります。

name

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

partitioned 省略可

論理値で、既定値は false です。true に設定すると、設定された Cookie はパーティション化された Cookie になります。詳しくは Cookies Having Independent Partitioned State (CHIPS) を参照してください。

path 省略可

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

sameSite 省略可

以下の SameSite のいずれかの値です。

"strict"

Cookie は、ファーストパーティのコンテキストでのみ送信され、サードパーティのウェブサイトによるリクエストと一緒に送信されることはありません

"lax"

Cookie は、通常のクロスサイトサブクエスト(例えば、画像やフレームをサードパーティのサイトにロードするため)には送信されません。しかし、ユーザーが元のサイト内を移動しているとき(すなわち、リンクをたどっているとき)には送信されます。

"none"

Cookie は、すべてのコンテキストで送信されます。

value

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

返値

Cookie の設定が完了すると Undefined に解決される Promise です。

例外

TypeError

与えられた値での Cookie の設定に失敗した場合に発生します。

SecurityErrorDOMException

オリジンが URL に serialize されない場合に発生します。

次の例では namevalueexpiresdomain を持つオブジェクトを渡して Cookie を設定します。

js
const day = 24 * 60 * 60 * 1000;
cookieStore.set({
  name: "cookie1",
  value: "cookie1-value",
  expires: Date.now() + day,
  domain: "example.com",
});

仕様書

Specification
Cookie Store API
# dom-cookiestore-set

ブラウザーの互換性

BCD tables only load in the browser