語法
js
let gettingAll = browser.windows.getAll(
getInfo // optional object
)
引數
getInfo可選-
object。此引數控制檢索哪些windows.Window物件。populate可選-
boolean。預設為false。如果設定為true,每個windows.Window物件將包含一個tabs屬性,該屬性是一個tabs.Tab物件陣列,代表該視窗中的標籤頁。僅當擴充套件的 manifest 檔案包含"tabs"許可權或與標籤頁 URL 匹配的 主機許可權 時,Tab物件才會包含url、title和favIconUrl屬性。 windowTypes可選-
一個
windows.WindowType物件陣列。如果設定,則返回的windows.Window物件將根據其型別進行過濾。如果未設定,預設過濾器將設定為['normal', 'panel', 'popup'],其中'panel'視窗型別僅限於擴充套件自身視窗。
返回值
一個 Promise,它將以一個 windows.Window 物件陣列的形式完成,代表所有符合給定條件的視窗。如果發生任何錯誤,Promise 將被拒絕並附帶錯誤訊息。
示例
記錄所有“normal”瀏覽器視窗中標籤頁的 URL。請注意,您需要“tabs” 許可權或匹配的 主機許可權才能訪問標籤頁 URL。
js
function logTabsForWindows(windowInfoArray) {
for (const windowInfo of windowInfoArray) {
console.log(`Window: ${windowInfo.id}`);
console.log(windowInfo.tabs.map((tab) => tab.url));
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener((tab) => {
browser.windows
.getAll({
populate: true,
windowTypes: ["normal"],
})
.then(logTabsForWindows, onError);
});
擴充套件程式示例
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.windows API。本文件源自 Chromium 程式碼中的 windows.json。