cookies.Cookie

Cookie 型別是 cookies API 的一部分,代表有關 HTTP cookie 的資訊。

型別

此型別的值是物件,可以包含以下屬性:

一個 string,表示 cookie 所屬的域名(例如,“www.google.com” 或 “example.com”)。

expirationDate 可選

一個 number,表示 cookie 的過期日期,以自 Unix 紀元以來的秒數計。包含毫秒作為小數部分。會話 cookie 不提供此項。

firstPartyDomain

一個 string,表示與 cookie 關聯的第一方域名。如果 cookie 是在關閉第一方隔離時設定的,則為空字串。請參閱 第一方隔離

hostOnly

一個 boolean,如果 cookie 是僅主機 cookie(即,請求的主機必須與 cookie 的域名完全匹配),則為 true,否則為 false

httpOnly

一個 boolean,如果 cookie 被標記為 HttpOnly(即,客戶端指令碼無法訪問 cookie),則為 true,否則為 false

name

一個 string,表示 cookie 的名稱。

partitionKey 可選

一個 object,表示包含 cookie 的 儲存分割槽 的描述。如果 cookie 不在分割槽儲存中,則此物件被省略(為 null)。此物件包含以下屬性:

topLevelSite

如果 cookie 位於按頂級站點分割槽的儲存中,則表示 cookie 儲存分割槽的第一個站點 URL 的 string

路徑

一個 string,表示 cookie 的路徑。

secure

一個 boolean,如果 cookie 被標記為安全(即,其範圍僅限於安全通道,通常是 HTTPS),則為 true,否則為 false

會話

一個 boolean,如果 cookie 是會話 cookie,則為 true,如果 cookie 是具有過期日期的持久 cookie,則為 false

sameSite

一個 cookies.SameSiteStatus 值,指示 cookie 的 SameSite 狀態。

storeId

一個 string,表示包含此 cookie 的 cookie 儲存的 ID,由 cookies.getAllCookieStores() 提供。

value

一個 string,表示 cookie 的值。

示例

cookies API 中的大多數方法都涉及一個 Cookie 物件作為輸入引數或作為返回值的一部分。例如,呼叫 cookies.getAll() 會返回一個 Cookie 物件陣列。

此示例請求所有 cookie,然後記錄結果 Cookie 物件中每個物件的某些值。

js
function logCookies(cookies) {
  for (cookie of cookies) {
    console.log(`Domain: ${cookie.domain}`);
    console.log(`Name: ${cookie.name}`);
    console.log(`Value: ${cookie.value}`);
    console.log(`Persistent: ${!cookie.session}`);
  }
}

let gettingAll = browser.cookies.getAll({});
gettingAll.then(logCookies);

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.cookies API。本文件源自 Chromium 程式碼中的 cookies.json