cookies.remove()

remove() 方法的 cookies API 删除一个 cookie,给定它的名称和 URL。

只有在您的 manifest.json 文件中包含“cookies” API 权限 以及指定在其清单中的给定 URL 的 主机权限 时,此调用才会成功。

这是一个异步函数,它返回一个 Promise.

语法

js
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 匹配

js
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