browsingData.removeCookies()

清除浏览器的 cookie。

你可以使用 removalOptions 参数(一个 browsingData.RemovalOptions 对象),来:

  • 仅清除指定时间后创建的 cookie
  • 控制是否仅清除来自普通网页设置的 cookie,还是同时清除来自托管应用程序和扩展设置的 cookie。

这是一个返回 Promise 的异步函数。

语法

js
let removing = browser.browsingData.removeCookies(
  removalOptions            // RemovalOptions 对象
)

参数

removalOptions

object。一个 browsingData.RemovalOptions 对象,用于仅清除指定时间后创建的 cookie,以及是否仅清除来自普通网页设置的 cookie,还是同时清除来自托管应用程序和扩展设置的 cookie。

返回值

一个 Promise,在移除完成时其会兑现且不带任何参数。如果发生任何错误,promise 将被拒绝,并附带一个错误消息。

示例

移除最近一周内创建的 cookie:

js
function onRemoved() {
  console.log("已删除");
}

function onError(error) {
  console.error(error);
}

function weekInMilliseconds() {
  return 1000 * 60 * 60 * 24 * 7;
}

let oneWeekAgo = new Date().getTime() - weekInMilliseconds();

browser.browsingData
  .removeCookies({ since: oneWeekAgo })
  .then(onRemoved, onError);

移除所有 cookie:

警告: 使用 API 清除所有 cookie 将同时清除所有本地存储对象(包括其他扩展程序的存储对象)。

如果要清除所有 cookie 而不影响本地存储设施,请使用 browser.cookies 来循环并清除所有 cookie 存储的内容。

js
function onRemoved() {
  console.log("已删除");
}

function onError(error) {
  console.error(error);
}

browser.browsingData.removeCookies({}).then(onRemoved, onError);

浏览器兼容性

BCD tables only load in the browser

备注: 此 API 基于 Chromium 的 chrome.browsingData API。