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 |
瀏覽器相容性
載入中…