Cookie Store API
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
Cookie Store API は Cookie を管理するための非同期 API を提供し、同時に Cookie を Service Worker API から参照できるようにします。
概念と使用法
Cookie の取得や設定を行うこれまでの方法は、文字列であるキーと値のペアとして document.cookie
を扱うことでした。面倒で間違えやすい上に、モダンなウェブ開発の文脈では問題のもとになります。
document.cookie
インターフェイスは同期的で、シングルスレッドで、イベントループをブロックします。Cookie に書き込みを行うとき、ブラウザーがすべての Cookie の文字列を更新するまで待たなければいけません。さらに、document
に依存しているので、document
オブジェクトにアクセスできないサービスワーカーからは Cookie にアクセスできません。
Cookie Store API は、Cookie を管理する新しい方法を提供します。これは非同期的でプロミスベースなので、イベントループをブロックしません。document
に依存していないため、サービスワーカーから利用可能です。Cookie の取得や設定を行うメソッドは、エラーメッセージにより、より多くのフィードバックを提供します。これにより、ウェブ開発者は Cookie を設定した直後に読み込みを行って設定に成功したかを確認しなくてよくなります。
インターフェイス
-
CookieStore
インターフェイスは、Cookie の取得や設定を可能にします。 -
CookieStoreManager
インターフェイスは、サービスワーカーが Cookie 変更イベントを購読できるよう、サービスワーカーの登録を提供します。 -
change
という名前のCookieChangeEvent
は、スクリプトから参照可能な Cookie の変更が何か起こると、Window
コンテキストのCookieStore
オブジェクトで発行されます。 -
change
という名前のExtendableCookieChangeEvent
は、スクリプトから参照可能かつサービスワーカーの Cookie 変更購読リストにマッチする Cookie の変更が何か起こると、ServiceWorkerGlobalScope
イベントで発行されます。
仕様書
Specification |
---|
Cookie Store API |
ブラウザーの互換性
api.CookieStore
BCD tables only load in the browser
api.CookieStoreManager
BCD tables only load in the browser