tabs.discard()

丢弃一个或多个选项卡。

某些浏览器会自动“丢弃”未使用的选项卡以释放内存。丢弃的选项卡在选项卡栏中仍然可见。浏览器会记住选项卡的状态,并在用户选择该选项卡时恢复它。选项卡何时以及丢弃哪些内容的详细信息是特定于浏览器的。

您可以通过在tabs.update中将其autoDiscardable属性设置为false来控制浏览器或此 API 是否丢弃选项卡。此设置可防止浏览器丢弃选项卡。然后,只能使用此 API 丢弃该选项卡。

无法丢弃活动选项卡或其文档包含会显示提示的beforeunload侦听器的选项卡。

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

语法

js
let discarding = browser.tabs.discard(
  tabIds          // integer or integer array
)

参数

tabIds

整数整数数组。要丢弃的选项卡或选项卡的 ID。

返回值

一个Promise,当所有指定的选项卡都已丢弃时,该 Promise 将完成且不带任何参数。如果发生任何错误(例如,无效的选项卡 ID),则 Promise 将被拒绝并显示错误消息。

如果传递了活动选项卡的 ID,则它不会被丢弃,但 Promise 将完成,并且传递的任何其他选项卡都将被丢弃。

示例

丢弃单个选项卡

js
function onDiscarded() {
  console.log(`Discarded`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

let discarding = browser.tabs.discard(2);
discarding.then(onDiscarded, onError);

丢弃多个选项卡

js
function onDiscarded() {
  console.log(`Discarded`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

let discarding = browser.tabs.discard([15, 14, 1]);
discarding.then(onDiscarded, onError);

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

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