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