browsingData.removeCookies()

清除浏览器 cookie。

您可以使用 removalOptions 参数,它是一个 browsingData.RemovalOptions 对象,用于

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

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

语法

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

参数

removalOptions

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

返回值

一个 Promise,当移除完成后,它将不带参数地被 fulfilled。如果发生任何错误,该 Promise 将会使用错误消息被 rejected。

示例

清除过去一周创建的 cookie

js
function onRemoved() {
  console.log("removed");
}

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("removed");
}

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

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

浏览器兼容性

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