extension.getViews()

返回當前擴充套件程式中執行的每個頁面的 Window 物件陣列。例如,這包括:

  • 如果定義了背景頁,則包括背景頁
  • 如果定義並載入了任何彈出頁面,則包括這些彈出頁面
  • 如果定義並載入了任何選項頁面,則包括這些選項頁面
  • 包含該擴充套件程式打包內容的瀏覽器標籤頁

在 Firefox 中,如果此方法是從私有瀏覽視窗的一部分頁面(例如,私有視窗中的側邊欄或從私有視窗開啟的彈出視窗)呼叫,則其返回值不包括該擴充套件程式的背景頁。

語法

js
let windows = browser.extension.getViews(
  fetchProperties // optional object
)

引數

fetchProperties 可選

具有以下屬性的物件:

type 可選

string。一個 extension.ViewType,指示要獲取的檢視型別。如果省略,此函式將返回所有檢視。

windowId 可選

integer。用於限制搜尋範圍的視窗。如果省略,此函式將返回所有檢視。在 Firefox 92 及更早版本中,側邊欄檢視不匹配,因此不返回。

返回值

objectarrayWindow 物件陣列。

示例

獲取此擴充套件程式的所有視窗,並記錄它們的 URL

js
const windows = browser.extension.getViews();

for (const extensionWindow of windows) {
  console.log(extensionWindow.location.href);
}

僅獲取包含該擴充套件程式打包內容的瀏覽器標籤頁中的視窗

js
const windows = browser.extension.getViews({ type: "tab" });

僅獲取彈出視窗中的視窗

js
const windows = browser.extension.getViews({ type: "popup" });

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.extension API。此文件源自 Chromium 程式碼中的 extension.json