語法
js
let getting = browser.windows.get(
windowId, // integer
getInfo // optional object
)
引數
windowId-
integer。您希望返回的視窗物件的 ID。 getInfo可選-
object。包含用於過濾視窗型別的選項。populate可選-
boolean。如果設定為true,則windows.Window物件將包含一個tabs屬性,其中包含代表該視窗中開啟的標籤頁的tabs.Tab物件列表。僅當擴充套件的 manifest 檔案包含"tabs"許可權或匹配的 主機許可權 時,Tab物件才包含url、title和favIconUrl屬性。 windowTypes可選-
arrayofwindows.WindowType物件。如果設定,返回的windows.Window將根據其型別進行過濾。如果未設定,預設過濾器為['normal', 'panel', 'popup'],其中'panel'視窗型別僅限於擴充套件自身擁有的視窗。
注意:如果提供了 windowTypes,則 getInfo 的 windowTypes 元件將被忽略。自 Firefox 62 起,windowTypes 已被棄用。
返回值
一個 Promise,它將以一個 windows.Window 物件(包含視窗的詳細資訊)來 fulfilled。如果發生任何錯誤,Promise 將會以錯誤訊息被 rejected。
示例
此示例獲取當前視窗並記錄其中包含的標籤頁的 URL。請注意,您需要 "tabs" 許可權或匹配的 主機許可權才能訪問標籤頁 URL。
注意:此示例有些不切實際:在這種情況下,您更可能使用 windows.getCurrent()。
js
function logTabs(windowInfo) {
for (const tabInfo of windowInfo.tabs) {
console.log(tabInfo.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener((tab) => {
browser.windows.get(tab.windowId, { populate: true }).then(logTabs, onError);
});
瀏覽器相容性
載入中…
注意:此 API 基於 Chromium 的 chrome.windows API。本文件源自 Chromium 程式碼中的 windows.json。