extension.getViews()
返回当前扩展内运行的每个页面的 Window 对象数组。例如,这包括:
- 后台页面(若定义了)
- 任何弹出页面(若定义并已加载)
- 任何选项页面(若定义并已加载)
- 任何托管了扩展打包内容的浏览器标签页
在 Firefox 中,如果从隐私浏览窗口的页面调用此方法,例如从隐私窗口中的侧边栏或从隐私窗口打开的弹出窗口,则其返回值将不包括扩展的后台页面。
语法
js
let windows = browser.extension.getViews(
fetchProperties // 可选的对象
)
参数
fetchProperties
可选-
包含如下属性的对象:
type
可选-
string
,指示要获取的视图类型的extension.ViewType
。如果省略,此函数将返回所有视图。 windowId
可选-
integer
,要限制搜索范围的窗口。如果省略,此函数将返回所有视图。在 Firefox 版本 92 及更早版本中,侧边栏视图并不匹配,因此将不会被返回。
返回值
object
数组(array
):Window 对象数组。
浏览器兼容性
BCD tables only load in the browser
示例
获取属于此扩展的所有窗口,并记录它们的 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
。