CookieStore:set() 方法
基线 2025 *
新推出
注意:此功能在 Service Workers 中可用。
CookieStore 接口的 set() 方法使用给定的 name 和 value 或 options 对象设置 Cookie。
语法
set(name, value)
set(options)
参数
此方法需要以下之一:
或者
options可选-
一个包含以下内容的 Shoppee 对象:
domain可选-
包含 Cookie 域名的字符串。默认为
null。 expires可选-
一个时间戳,以毫秒为单位的 Unix 时间,包含 Cookie 的过期日期。默认为
null。 name-
一个包含 cookie 名称的字符串。
partitioned可选-
一个布尔值,默认为
false。如果设置为true,则设置的 Cookie 将是分区 Cookie。有关更多信息,请参阅 具有独立分区状态的 Cookie (CHIPS)。 path可选-
包含 Cookie 路径的字符串。默认为
/。 sameSite可选value-
包含 Cookie 值的字符串。
注意: 虽然此处可以设置值并在内部使用,但某些浏览器仅从 CookieStore.get() 和 CookieStore.getAll() 返回 name 和 value 选项。
返回值
异常
SecurityErrorDOMException-
如果源无法 序列化 为 URL,则抛出此异常。
TypeError-
如果使用给定的
name和value或options设置 Cookie 失败,则抛出此异常。
示例
使用名称和值设置 Cookie
此示例通过分别传递 "cookie1" 和 "cookie1-value" 的 name 和 value 来设置 Cookie。Cookie 的其他属性将使用 options 参数中定义的默认值进行设置。
代码首先等待 Cookie 设置完成:由于此操作可能会失败,因此该操作在 try...catch 块中执行,并将任何错误记录到控制台。然后,它获取并记录刚刚设置的 Cookie。
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);
}
使用选项设置 Cookie
此示例通过传递包含 name、value、expires 和 partitioned 的 options 对象来设置 Cookie。
代码首先等待 Cookie 设置完成:由于此操作可能会失败,因此该操作在 try...catch 块中执行,并将任何错误记录到控制台。然后,它获取并记录刚刚设置的 Cookie。
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);
}
规范
| 规范 |
|---|
| Cookie Store API # dom-cookiestore-set |
浏览器兼容性
加载中…