tabs.hide()
隐藏一个或多个标签页。
隐藏的标签页在浏览器标签栏中不再可见。隐藏的标签页不会被自动 丢弃:其中运行的代码将继续运行。您可以在隐藏标签页时显式丢弃它们:虽然这并非适用于所有情况,但有助于减少浏览器使用的资源。
这是一个异步函数,返回一个 Promise。
并非所有标签页都符合隐藏条件
- 固定的标签页无法被隐藏。
- 正在共享屏幕、麦克风或摄像头的标签页无法被隐藏。
- 当前活动的标签页无法被隐藏。
- 正在关闭过程中的标签页无法被隐藏。
当扩展程序第一次隐藏一个标签页时,浏览器会告知用户该标签页正在被隐藏,展示如何访问隐藏的标签页,并提供禁用该扩展程序的选项。
要使用此 API,您必须拥有 "tabHide" 权限。
语法
js
let hiding = browser.tabs.hide(
tabIds // integer or integer array
)
参数
tabIds-
integer或integer的array。要隐藏的标签页的 ID。如果其中任何标签页不符合隐藏条件,它们将不会被隐藏,但调用仍将成功,符合条件的标签页仍然会被隐藏。例如,如果您传递
[1, 3],而1是活动标签页的 ID,那么只有3会被隐藏。但是,如果任何标签页 ID 无效,则调用将失败,并且不会隐藏任何标签页。
返回值
一个 Promise,它将以一个包含被隐藏标签页 ID 的数组来 fulfilled。如果发生任何错误,promise 将会用错误消息被 rejected。
示例
隐藏单个标签页
js
function onHidden() {
console.log(`Hidden`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.tabs.hide(2).then(onHidden, onError);
隐藏多个标签页
js
function onHidden() {
console.log(`Hidden`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
browser.tabs.hide([15, 14, 1]).then(onHidden, onError);
浏览器兼容性
加载中…