CookieStore: get() 方法
基線 2025 *
新推出
注意:此功能在 Service Workers 中可用。
CookieStore 介面的 get() 方法返回一個 Promise,該 Promise 解析為一個與給定的 name 或 options 物件匹配的單個 cookie。該方法將返回第一個匹配的 cookie。
語法
get(name)
get(options)
引數
此方法需要以下之一:
name可選-
一個包含 cookie 名稱的字串。
或者
options可選-
一個包含以下內容的 Shoppee 物件:
注意: url 選項允許修改特定 URL 範圍內的 cookie。Service worker 可以獲取將被髮送到其作用域內任何 URL 的 cookie。從文件中,您只能獲取當前 URL 的 cookie,因此在文件上下文中唯一有效的 URL 是文件的 URL。
返回值
一個 Promise,該 Promise 解析為一個物件,該物件代表與提交的 name 或 options 匹配的第一個 cookie,如果不存在匹配的 cookie,則為 null。
匹配時返回的物件包含以下屬性
域-
包含 cookie 域名的字串。
expires-
一個時間戳,以 Unix 時間(毫秒)給出,包含 cookie 的過期日期。
name-
包含 cookie 名稱的字串。
partitioned-
一個布林值,指示 cookie 是否為分割槽 cookie(
true)或不是(false)。有關更多資訊,請參閱 具有獨立分割槽狀態的 Cookie (CHIPS)。 路徑-
包含 cookie 路徑的字串。
sameSitesecure-
一個布林值,指示 cookie 是否僅用於安全上下文(
true)或不用於安全上下文(false)。 value-
包含 cookie 值的字串。
異常
SecurityErrorDOMException-
如果源未能 序列化 為 URL,則丟擲此錯誤。
TypeError-
在以下情況下丟擲
options引數是一個空物件。- 該方法在主執行緒中呼叫,並且指定了
url選項,但該選項與當前視窗的 URL 不匹配。 - 該方法在 worker 中呼叫,並且指定了
url選項,但該選項與 worker 的源不匹配。 - 查詢由給定
name或options表示的 cookie 失敗。
示例
按名稱獲取 cookie
本示例展示瞭如何按名稱獲取特定 cookie。
程式碼首先使用 CookieStore.set() 建立一個名為“cookie1”的 cookie,並將任何錯誤記錄到控制檯。然後,它等待 get() 檢索有關同一 cookie 的資訊。如果返回的 Promise 解析為一個物件,則記錄 cookie;否則,記錄未找到匹配的 cookie。
async function cookieTest() {
// Set test cookie
try {
await cookieStore.set("cookie1", "cookie1-value");
} catch (error) {
console.log(`Error setting cookie1: ${error}`);
}
// Get cookie, specifying name
const cookie = await cookieStore.get("cookie1");
if (cookie) {
console.log(cookie);
} else {
console.log("cookie1: Cookie not found");
}
}
cookieTest();
規範
| 規範 |
|---|
| Cookie Store API # dom-cookiestore-get |
瀏覽器相容性
載入中…