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);
瀏覽器相容性
載入中…