cookies.get()
cookies API 的 get() 方法,在給定 cookie 的名稱和 URL 的情況下,用於檢索 cookie 的資訊。
要使用此方法,擴充套件程式必須具有 "cookies" 許可權和相關的宿主許可權。有關更多詳細資訊,請參閱 cookie 許可權。
如果一個 URL 有多個同名 cookie,將返回路徑最長的 cookie。對於路徑長度相同的 cookie,將返回最早建立的 cookie。如果找不到匹配的 cookie,則返回 null。
注意: 在 Firefox 133 之前,當存在多個同名 cookie 時,Firefox 會返回最早建立的 cookie。
這是一個非同步函式,返回一個 Promise。
語法
let getting = browser.cookies.get(
details // object
)
引數
details-
一個包含用於匹配要檢索的 cookie 的詳細資訊的
object。它可以包含以下屬性:firstPartyDomain可選-
一個
string,表示要檢索的 cookie 所關聯的第三方域名。如果瀏覽器啟用了第三方隔離,則必須提供此屬性。請參閱 第三方隔離。 name-
一個
string,表示要檢索的 cookie 的名稱。 partitionKey可選-
一個
object,表示 cookie 所在的 儲存分割槽。包含此物件以及topLevelSite以從分割槽儲存中獲取 cookie。否則,將從非分割槽儲存中返回 cookie。此物件包含:topLevelSite可選-
表示包含 cookie 的頂級網站儲存分割槽的第一個 URL 的
string。
storeId可選-
一個
string,表示要查詢 cookie 的 cookie 儲存的 ID(如cookies.getAllCookieStores()返回)。預設情況下,使用當前執行上下文的 cookie 儲存。 url-
一個
string,表示要檢索的 cookie 所關聯的 URL。此引數可以是完整 URL,在這種情況下,URL 路徑之後的所有資料(例如查詢字串)將被忽略。如果在擴充套件的 manifest 檔案中未為此 URL 指定 主機許可權,則 API 呼叫會失敗。
返回值
一個 Promise,該 Promise 將會以一個包含 cookie 詳細資訊的 Cookie 物件來 fulfilled,如果找不到 cookie,則以 null fulfilled。
示例
此示例嘗試獲取與活動標籤頁 URL 關聯的名為 "favorite-color" 的 cookie。
function logCookie(cookie) {
if (cookie) {
console.log(cookie.value);
}
}
function getCookie(tabs) {
let getting = browser.cookies.get({
url: tabs[0].url,
name: "favorite-color",
});
getting.then(logCookie);
}
let getActive = browser.tabs.query({
active: true,
currentWindow: true,
});
getActive.then(getCookie);
擴充套件程式示例
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.cookies API。此文件源自 Chromium 程式碼中的 cookies.json。