tabs.hide()

隱藏一個或多個標籤頁。

隱藏的標籤頁在瀏覽器標籤欄中不再可見。隱藏的標籤頁不會被自動 丟棄:其中執行的程式碼將繼續執行。您可以在隱藏標籤頁時顯式丟棄它們:雖然這並非適用於所有情況,但有助於減少瀏覽器使用的資源。

這是一個非同步函式,返回一個 Promise

並非所有標籤頁都符合隱藏條件

  • 固定的標籤頁無法被隱藏。
  • 正在共享螢幕、麥克風或攝像頭的標籤頁無法被隱藏。
  • 當前活動的標籤頁無法被隱藏。
  • 正在關閉過程中的標籤頁無法被隱藏。

當擴充套件程式第一次隱藏一個標籤頁時,瀏覽器會告知使用者該標籤頁正在被隱藏,展示如何訪問隱藏的標籤頁,並提供停用該擴充套件程式的選項。

要使用此 API,您必須擁有 "tabHide" 許可權

語法

js
let hiding = browser.tabs.hide(
  tabIds          // integer or integer array
)

引數

tabIds

integerintegerarray。要隱藏的標籤頁的 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);

瀏覽器相容性