extension.getViews()
返回当前扩展中运行的每个页面的 Window 对象的数组。例如,这包括
- 如果定义了,则为后台页面
- 如果定义并加载,则为任何弹出窗口页面
- 如果定义并加载,则为任何选项页面
- 任何托管与扩展一起打包的内容的浏览器标签
在 Firefox 中,如果从私密浏览窗口中的页面(例如私密窗口中的侧边栏或从私密窗口打开的弹出窗口)调用此方法,则其返回值将不包含扩展的后台页面。
语法
js
let windows = browser.extension.getViews(
fetchProperties // optional object
)
参数
fetchProperties
可选-
具有以下属性的对象
type
可选-
string
。一个extension.ViewType
指示要获取的视图类型。如果省略,此函数将返回所有视图。 windowId
可选-
integer
。要限制搜索的窗口。如果省略,此函数将返回所有视图。在 Firefox 92 及更早版本中,侧边栏视图不会匹配,因此不会返回。
返回值
array
of object
。Window 对象的数组。
浏览器兼容性
BCD 表仅在浏览器中加载
示例
获取属于此扩展的所有窗口,并记录其 URL
js
const windows = browser.extension.getViews();
for (const extensionWindow of windows) {
console.log(extensionWindow.location.href);
}
仅获取托管与扩展一起打包的内容的浏览器标签中的窗口
js
const windows = browser.extension.getViews({ type: "tab" });
仅获取弹出窗口中的窗口
js
const windows = browser.extension.getViews({ type: "popup" });
注意:此 API 基于 Chromium 的 chrome.extension
API。此文档来自 Chromium 代码中的 extension.json
。