extension.getViews()

返回当前扩展中运行的每个页面的 Window 对象的数组。例如,这包括

  • 如果定义了,则为后台页面
  • 如果定义并加载,则为任何弹出窗口页面
  • 如果定义并加载,则为任何选项页面
  • 任何托管与扩展一起打包的内容的浏览器标签

在 Firefox 中,如果从私密浏览窗口中的页面(例如私密窗口中的侧边栏或从私密窗口打开的弹出窗口)调用此方法,则其返回值将不包含扩展的后台页面。

语法

js
let windows = browser.extension.getViews(
  fetchProperties // optional object
)

参数

fetchProperties 可选

具有以下属性的对象

type 可选

string。一个 extension.ViewType 指示要获取的视图类型。如果省略,此函数将返回所有视图。

windowId 可选

integer。要限制搜索的窗口。如果省略,此函数将返回所有视图。在 Firefox 92 及更早版本中,侧边栏视图不会匹配,因此不会返回。

返回值

array of objectWindow 对象的数组。

浏览器兼容性

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