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。