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

View in English Always switch to English

CookieStoreManager: subscribe() メソッド

利用可能性は限定的

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

Want more browser support for this feature? Tell us why.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (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

ブラウザーの互換性