CookieStore: phương thức getAll()
Baseline
2025
Newly available
Since June 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or 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 getAll() của giao diện CookieStore trả về một Promise được giải quyết thành một mảng các cookie khớp với name hoặc options được truyền vào.
Nếu không truyền tham số nào, phương thức sẽ trả về tất cả cookie cho ngữ cảnh hiện tại.
Cú pháp
getAll()
getAll(name)
getAll(options)
Tham số
nameOptional-
Một chuỗi chứa tên của cookie.
Hoặc
optionsOptional-
Một đối tượng chứa:
Note:
Tùy chọn url cho phép sửa đổi một cookie được đặt phạm vi dưới một URL cụ thể. Service worker có thể lấy các cookie sẽ được gửi tới bất kỳ URL nào trong phạm vi của chúng. Từ một tài liệu, bạn chỉ có thể lấy các cookie tại URL hiện tại, vì vậy URL hợp lệ duy nhất trong ngữ cảnh tài liệu là URL của chính tài liệu đó.
Giá trị trả về
Một Promise được giải quyết với một mảng các đối tượng biểu diễn các cookie khớp với name hoặc options đã cho.
Mỗi đối tượng chứa các thuộc tính sau:
domain-
Một chuỗi chứa miền của cookie.
expires-
Một dấu thời gian, được cho dưới dạng Unix time tính bằng mili giây, chứa ngày hết hạn của cookie.
name-
Một chuỗi chứa tên của cookie.
partitioned-
Một giá trị boolean cho biết cookie có phải là cookie phân vùng (
true) hay không (false). Xem Cookies Having Independent Partitioned State (CHIPS) để biết thêm thông tin. path-
Một chuỗi chứa đường dẫn của cookie.
sameSite-
Một trong các giá trị
SameSitesau:"strict","lax", hoặc"none". secure-
Một giá trị boolean cho biết cookie chỉ được dùng trong các ngữ cảnh bảo mật (
true) hay không (false). value-
Một chuỗi chứa giá trị của cookie.
Ngoại lệ
SecurityErrorDOMException-
Được ném ra nếu origin không chuyển đổi tuần tự thành một URL.
TypeError-
Được ném ra nếu:
- Phương thức được gọi trên luồng chính, và tùy chọn
urlđược chỉ định nhưng không khớp với URL của cửa sổ hiện tại. - Phương thức được gọi trong worker và tùy chọn
urlđược chỉ định, nhưng không khớp với origin của worker. - Việc truy vấn các cookie được biểu diễn bởi
namehoặcoptionsđã cho thất bại.
- Phương thức được gọi trên luồng chính, và tùy chọn
Ví dụ
Lấy tất cả cookie cho ngữ cảnh này
Ví dụ này cho thấy cách lấy tất cả cookie trong ngữ cảnh hiện tại.
Đầu tiên chúng ta định nghĩa setTestCookies(), hàm này tạo các cookie thử nghiệm "cookie1" và "cookie2", đồng thời ghi mọi lỗi ra log.
async function setTestCookies() {
// Set two cookies
try {
await cookieStore.set("cookie1", "cookie1-value");
} catch (error) {
console.log(`Error setting cookie1: ${error}`);
}
try {
await cookieStore.set("cookie2", "cookie2-value");
} catch (error) {
console.log(`Error setting cookie2: ${error}`);
}
}
Phương thức cookieTest() gọi setTestCookies() rồi chờ getAll().
Thao tác này trả về một Promise được giải quyết với tất cả cookie cho ngữ cảnh này dưới dạng một mảng đối tượng, hoặc một mảng rỗng nếu không có cookie nào.
Nếu promise được trả về giải quyết với một mảng có chứa thông tin cookie, chúng ta lặp qua mảng và ghi từng cookie ("cookie1" và "cookie2") ra log.
async function cookieTest() {
// Set our test cookies
await setTestCookies();
// Get all cookies
const cookies = await cookieStore.getAll();
// Iterate the cookies, or log that none were found
if (cookies.length > 0) {
console.log(`Found cookies: ${cookies.length}:`);
cookies.forEach((cookie) => console.log(cookie));
} else {
console.log("Cookies not found");
}
}
Thông số kỹ thuật
| Specification |
|---|
| Cookie Store API> # dom-cookiestore-getall> |