CookieStoreManager: phương thức subscribe()

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Service Workers.

Phương thức subscribe() của giao diện CookieStoreManager đăng ký cho một ServiceWorkerRegistration nhận các sự kiện thay đổi cookie.

Cú pháp

js
subscribe(subscriptions)

Tham số

subscriptions

Một mảng đối tượng, trong đó mỗi đối tượng có các thuộc tính sau:

name

Một chuỗi chứa tên của cookie.

url

Một chuỗi chứa URL của phạm vi cookie. Phạm vi này có thể hẹp hơn phạm vi của đăng ký service worker.

Giá trị trả về

Một Promise được phân giải với undefined khi việc đăng ký hoàn tất.

Ngoại lệ

TypeError

Được ném ra nếu URL được truyền trong subscriptions không khớp với scope của đăng ký service worker.

Ví dụ

Trong ví dụ này, ServiceWorkerRegistration được biểu diễn bởi registration đăng ký nhận các sự kiện thay đổi trên cookie có tên "cookie1" với phạm vi là "/path1".

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

URL được truyền cho phương thức subscribe() có thể hẹp hơn phạm vi đăng ký service worker. Trong ví dụ sau, đăng ký áp dụng cho /path/one/, nên nó sẽ nhận được sự kiện thay đổi cho thay đổi trên cookie thứ nhất, nhưng không nhận được cho cookie thứ hai.

js
registration.cookies.subscribe([{ name: "cookie1", url: "/path/one/" }]); // đăng ký
cookieStore.set({ name: "cookie1", value: "cookie-value", path: "/path/one/" }); // nhận được sự kiện thay đổi
cookieStore.set({ name: "cookie1", value: "cookie-value", path: "/path/two/" }); // không nhận được sự kiện thay đổi

Thông số kỹ thuật

Thông số kỹ thuật
Cookie Store API
# dom-cookiestoremanager-subscribe

Khả năng tương thích với trình duyệt