cookies.remove()
该 remove()
方法的 cookies
API 删除一个 cookie,给定它的名称和 URL。
只有在您的 manifest.json 文件中包含“cookies” API 权限 以及指定在其清单中的给定 URL 的 主机权限 时,此调用才会成功。
这是一个异步函数,它返回一个 Promise
.
语法
let removing = browser.cookies.remove(
details // object
)
参数
details
-
一个
object
包含用于识别要删除的 cookie 的信息。它包含以下属性firstPartyDomain
可选-
一个
string
表示与要删除的 cookie 关联的第一方域。如果浏览器启用了第一方隔离,则必须提供此属性。参见 第一方隔离. name
-
一个
string
表示要删除的 cookie 的名称。 partitionKey
可选-
一个
object
表示包含该 cookie 的 存储分区。包含此对象以从分区存储中删除 cookie。此对象包含topLevelSite
可选-
一个
string
表示包含该 cookie 的顶级站点存储分区的首方 URL。
storeId
可选-
一个
string
表示要查找 cookie 的 cookie 存储的 ID。如果未指定,则默认情况下会在当前执行上下文的 cookie 存储中查找 cookie。 url
-
一个
string
表示与 cookie 关联的 URL。如果扩展没有对此 URL 的 主机权限,则 API 调用将失败。
返回值
一个 Promise
将使用 cookies.Cookie
对象来实现,该对象包含有关已删除的 cookie 的详细信息。如果找不到与 details
参数匹配的 cookie,则 promise 将使用 null
来实现。如果调用因任何原因失败,则 promise 将使用错误消息来拒绝。
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
示例
此示例尝试删除名为“favorite-color”的 cookie,其 URL 与当前活动标签页托管的文档的 URL 匹配
function onRemoved(cookie) {
console.log(`Removed: ${cookie}`);
}
function onError(error) {
console.log(`Error removing cookie: ${error}`);
}
function removeCookie(tabs) {
let removing = browser.cookies.remove({
url: tabs[0].url,
name: "favorite-color",
});
removing.then(onRemoved, onError);
}
let getActive = browser.tabs.query({ active: true, currentWindow: true });
getActive.then(removeCookie);
示例扩展
注意: 此 API 基于 Chromium 的 chrome.cookies
API。此文档源自 Chromium 代码中的 cookies.json
。