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

View in English Always switch to English

CookieStoreManager: subscribe() メソッド

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

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

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

CookieStoreManager インターフェイスの subscribe() メソッドは、ServiceWorkerRegistration に Cookie 変更イベントを購読させます。

構文

js
subscribe(subscriptions)

引数

subscriptions

以下が格納されたオブジェクトです。

name

Cookie の名前を表す文字列です。

url

Cookie のスコープの URL を表す文字列です。サービスワーカーの登録のスコープより狭くすることができます。

返値

購読が完了したら undefined で解決する Promise です。

例外

TypeError

subscriptions に渡された URL がサービスワーカーの登録の scope とマッチしないとき投げられます。

この例では、registration で表される ServiceWorkerRegistration が、名前が "cookie1" でスコープが "/path1" である Cookie の変更イベントを購読します。

js
const subscriptions = [{ name: "cookie1", url: `/path1` }];
await registration.cookies.subscribe(subscriptions);

subscribe() メソッドに渡す URL は、サービスワーカーの登録のスコープより狭くすることができます。以下の例では、/path/one/ を購読しているので、最初の Cookie の変更では変更イベントを受け取りますが、2 番目では受け取りません。

js
registration.cookies.subscribe([{ name: "cookie1", url: "/path/one/" }]); // 購読
cookieStore.set({ name: "cookie1", value: "cookie-value", path: "/path/one/" }); // 変更イベントを受け取る
cookieStore.set({ name: "cookie1", value: "cookie-value", path: "/path/two/" }); // 変更イベントを受け取らない

仕様書

仕様書
Cookie Store API
# dom-cookiestoremanager-subscribe

ブラウザーの互換性