语法
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。