cookies.get()
get()
方法是 cookies
API 的一种方法,用于获取有关单个 cookie 的信息,包括其名称和 URL。
如果对于给定的 URL,存在多个具有相同名称的 cookie,则将返回路径最长的那个。对于路径长度相同的 cookie,将返回创建时间最早的那个。如果找不到匹配的 cookie,则返回 null
。
这是一个异步函数,返回一个 Promise
。
语法
let getting = browser.cookies.get(
details // object
)
参数
details
-
一个包含可用于匹配要检索的 cookie 的详细信息的
object
。它可以包含以下属性firstPartyDomain
可选-
一个
string
,表示与要检索的 cookie 关联的第一方域。如果浏览器启用了第一方隔离,则必须提供此属性。请参阅 第一方隔离。 name
-
一个
string
,表示要检索的 cookie 的名称。 partitionKey
可选-
一个
object
,表示包含 cookie 的 存储分区。将此对象与topLevelSite
一起包含,以从分区存储中获取 cookie。否则,将从未分区存储中返回 cookie。此对象包含topLevelSite
可选-
一个
string
,表示包含 cookie 的顶级站点存储分区的第三方 URL。
storeId
可选-
一个
string
,表示要在其中查找 cookie 的 cookie 存储 的 ID(由cookies.getAllCookieStores()
返回)。默认情况下,将使用当前执行上下文的 cookie 存储。 url
-
一个
string
,表示与要检索的 cookie 关联的 URL。此参数可以是完整的 URL,在这种情况下,将忽略 URL 路径后面的任何数据(例如查询字符串)。如果在扩展的 清单文件 中未指定对该 URL 的 主机权限,API 调用将失败。
返回值
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
示例
此示例尝试获取名为“favorite-color”的 cookie,该 cookie 与当前活动选项卡的 URL 关联
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
。