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