CookieStore: phương thức set()
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.
* Some parts of this feature may have varying levels of support.
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 set() của giao diện CookieStore đặt một cookie với name và value hoặc đối tượng options đã cho.
Cú pháp
set(name, value)
set(options)
Tham số
Phương thức này yêu cầu một trong các giá trị sau:
nameOptional-
Một chuỗi chứa tên của cookie.
valueOptional-
Một chuỗi chứa giá trị của cookie.
Hoặc
optionsOptional-
Một đối tượng chứa:
domainOptional-
Một chuỗi chứa miền của cookie. Mặc định là
null. expiresOptional-
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. Mặc định là
null. maxAgeOptional-
Một số biểu diễn số giây còn lại cho đến khi cookie hết hạn. Số không hoặc số âm sẽ làm cookie hết hạn ngay lập tức. Nếu cả
expiresvàmaxAgeđều được đặt, lời gọiset()sẽ thất bại vớiTypeError. Mặc định lànull. name-
Một chuỗi chứa tên của cookie.
partitionedOptional-
Một giá trị boolean mặc định là
false. Nếu đặt thànhtrue, cookie được thiết lập sẽ là cookie phân vùng. Xem Cookies Having Independent Partitioned State (CHIPS) để biết thêm thông tin. pathOptional-
Một chuỗi chứa đường dẫn của cookie. Mặc định là
/. sameSiteOptional-
Một trong các giá trị
SameSitesau:"strict","lax", hoặc"none". value-
Một chuỗi chứa giá trị của cookie.
Note:
Mặc dù các giá trị có thể được đặt ở đây và sẽ được dùng nội bộ, một số trình duyệt chỉ trả về các tùy chọn name và value từ CookieStore.get() và CookieStore.getAll().
Giá trị trả về
Một Promise được giải quyết với undefined khi việc đặt cookie hoàn tất.
Ngoại lệ
SecurityErrorDOMException-
Được ném ra nếu origin không thể được tuần tự hóa thành một URL.
TypeError-
Được ném ra nếu:
- Cả thuộc tính
expiresvàmaxAgeđều được đặt. - Việc đặt cookie với
namevàvaluehoặcoptionsđã cho thất bại theo bất kỳ cách nào khác.
- Cả thuộc tính
Ví dụ
Đặt cookie bằng tên và giá trị
Ví dụ này đặt một cookie bằng cách truyền name và value lần lượt là "cookie1" và "cookie1-value".
Các thuộc tính khác của cookie được đặt bằng các giá trị mặc định như được định nghĩa trong tham số options.
Đoạn mã đầu tiên chờ cookie được đặt xong: vì thao tác này có thể thất bại, thao tác được thực hiện trong khối try...catch và mọi lỗi sẽ được ghi ra console.
Sau đó nó lấy và ghi ra log cookie vừa được đặt.
async function cookieTest() {
// Set cookie: passing name and value
try {
await cookieStore.set("cookie1", "cookie1-value");
} catch (error) {
console.log(`Error setting cookie1: ${error}`);
}
// Get the cookie and log its values
const cookie = await cookieStore.get("cookie1");
console.log(cookie);
}
Đặt cookie bằng tùy chọn
Ví dụ này đặt một cookie bằng cách truyền đối tượng options với name, value, expires, và partitioned.
Đoạn mã đầu tiên chờ cookie được đặt xong: vì thao tác này có thể thất bại, thao tác được thực hiện trong khối try...catch và mọi lỗi sẽ được ghi ra console.
Sau đó nó lấy và ghi ra log cookie vừa được đặt.
async function cookieTest() {
const day = 24 * 60 * 60 * 1000;
const cookieName = "cookie2";
try {
// Set cookie: passing options
await cookieStore.set({
name: cookieName,
value: `${cookieName}-value`,
expires: Date.now() + day,
partitioned: true,
});
} catch (error) {
log(`Error setting ${cookieName}: ${error}`);
console.log(error);
}
// Log the new cookie
const cookie = await cookieStore.get(cookieName);
console.log(cookie);
}
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Cookie Store API> # dom-cookiestore-set> |