语法
js
let gettingAll = browser.windows.getAll(
getInfo // 可选对象
)
参数
getInfo可选-
object。这将决定获取哪些windows.Window对象。populate可选-
boolean。默认为false。如果设置为true,每个windows.Window对象将有一个tabs属性,其中包含表示该窗口中的标签页的tabs.Tab对象的列表。只有当扩展的清单文件包含"tabs"权限或与标签页的 URL 匹配的主机权限时Tab对象才会包含url、title和favIconUrl属性。 windowTypes可选-
windows.WindowType对象的数组(array)。如果给出该参数,则将基于该参数对窗口类型进行筛选返回的windows.Window对象。如果未设置,则默认筛选器取['normal', 'panel', 'popup'],其中'panel'窗口类型仅限于扩展自己的窗口。
返回值
一个 Promise,其会兑现为一个包含所有符合给定条件的 windows.Window 对象的数组。如果发生任何错误则该 Promise 将以错误消息拒绝。
浏览器兼容性
Loading…
示例
记录所有“正常”浏览器窗口中的标签页的 URL。请注意,你需要 "tabs" 权限或匹配的主机权限才能访问标签页的 URL。
js
function logTabsForWindows(windowInfoArray) {
for (const windowInfo of windowInfoArray) {
console.log(`窗口:${windowInfo.id}`);
console.log(windowInfo.tabs.map((tab) => tab.url));
}
}
function onError(error) {
console.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。