cookies.getAll()

getAll() 方法是 cookies API 的一部分,用於檢索與所提供詳細資訊匹配的所有 cookie。

要使用此方法,擴充套件程式必須具有 "cookies" 許可權和相關的宿主許可權。有關更多詳細資訊,請參閱 cookie 許可權

這是一個非同步函式,返回一個 Promise

語法

js
let getting = browser.cookies.getAll(
  details                // object
)

引數

details

一個包含用於匹配要檢索的 cookie 的詳細資訊的 object。包含的屬性如下(有關這些屬性的更多資訊,請參閱 Cookie 型別

domain 可選

一個 string,表示 cookie 必須關聯的域名(它們可以與此確切域名或其子域名關聯)。

firstPartyDomain 可選

一個 string,表示要檢索的 cookie 所關聯的同級域名。

如果瀏覽器啟用了同級隔離,則必須提供此屬性。如果傳遞 null,則結果中將包含 firstPartyDomain 具有任何值以及未設定 firstPartyDomain 的 cookie。請參閱 同級隔離

name 可選

一個 string,表示 cookie 必須具有的名稱。

partitionKey 可選

一個 object,定義要從中返回 cookie 的 儲存分割槽

  • 如果省略,則僅返回來自未分割槽儲存的 cookie。
  • 如果包含但未指定 topLevelSite,則返回來自分割槽和未分割槽儲存的所有 cookie。
  • 如果包含並指定了 topLevelSite,則返回來自指定分割槽儲存的 cookie。

此物件包含

topLevelSite 可選

一個 string,表示包含 cookie 的頂級站點儲存分割槽的同級 URL。

path 可選

一個 string,表示路徑 — cookie 的路徑必須與此路徑相同。

secure 可選

一個 boolean — 按 secure 屬性過濾 cookie,允許您過濾安全或不安全 cookie。

session 可選

一個 boolean — 按 session 屬性過濾 cookie,允許您過濾會話 cookie 或持久 cookie。

storeId 可選

一個 string,表示要從中檢索 cookie 的 cookie 儲存區。如果省略,則使用當前執行上下文的 cookie 儲存區。

url 可選

一個 string,表示要檢索的 cookie 必須關聯的 URL。

返回值

一個 Promise,該 Promise 將以一個 cookies.Cookie 物件陣列的形式兌現,這些物件匹配 details 引數中給出的屬性。僅返回未過期的 cookie。返回的 cookie 按路徑長度排序,從長到短。如果多個 cookie 具有相同的路徑長度,則最先建立的 cookie 排在前面。

注意: 在 Firefox 133 之前,Firefox 按建立時間排序返回 cookie,最早建立的排在前面。

示例

此示例獲取瀏覽器儲存的所有名為“favorite-color”的 cookie。當結果返回時,程式碼會將每個結果的值列印到控制檯。

js
function logCookies(cookies) {
  for (const cookie of cookies) {
    console.log(cookie.value);
  }
}

browser.cookies
  .getAll({
    name: "favorite-color",
  })
  .then(logCookies);

擴充套件程式示例

瀏覽器相容性

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