tabs.query()
获取所有具有指定属性的选项卡,或者如果未指定任何属性则获取所有选项卡。
这是一个异步函数,它返回一个 Promise
。
语法
let querying = browser.tabs.query(queryInfo)
参数
queryInfo
-
object
。query()
函数获取其属性与此处包含的属性匹配的选项卡。请参阅
tabs.Tab
文档以了解有关这些属性的更多信息。active
可选-
boolean
。选项卡在其窗口中是否处于活动状态。 attention
可选-
boolean
。指示选项卡是否正在吸引注意力。 audible
可选-
boolean
。选项卡是否可听见。 autoDiscardable
可选-
boolean
。浏览器是否可以丢弃该选项卡。默认值为true
。设置为false
时,浏览器无法自动丢弃该选项卡。但是,该选项卡可以通过tabs.discard
丢弃。 -
string
或string
的array
。使用此选项返回其tab.cookieStoreId
与任何cookieStoreId
字符串匹配的选项卡。此选项仅在附加组件具有"cookies"
权限 时可用。有关更多信息,请参阅 使用上下文标识。 currentWindow
可选-
boolean
。选项卡是否在当前窗口中。 discarded
可选-
boolean
。选项卡是否已丢弃。已丢弃的选项卡是指其内容已从内存中卸载,但仍显示在选项卡栏中。下次激活时,其内容将重新加载。 -
boolean
。选项卡是否已隐藏。 highlighted
可选-
boolean
。选项卡是否已突出显示。 index
可选-
integer
。选项卡在其窗口中的位置。 muted
可选-
boolean
。选项卡是否已静音。 lastFocusedWindow
可选-
boolean
。选项卡是否在最后一个聚焦的窗口中。 pinned
可选-
boolean
。选项卡是否已固定。 status
可选-
tabs.TabStatus
。选项卡是否已完成加载。 title
可选-
string
。将页面标题与模式匹配。需要“tabs”权限或 主机权限 才能使选项卡匹配。 url
可选-
string
或string
的array
。将选项卡与一个或多个 匹配模式 匹配。请注意,不会匹配片段标识符。需要“tabs”权限或 主机权限 才能使选项卡匹配。 windowId
可选-
integer
。父窗口的id
,或windows.WINDOW_ID_CURRENT
(表示当前窗口)。 windowType
可选-
tabs.WindowType
。选项卡所在的窗口类型。
返回值
示例
获取所有选项卡
function logTabs(tabs) {
for (const tab of tabs) {
// tab.url requires the `tabs` permission or a matching host permission.
console.log(tab.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.tabs.query({}).then(logTabs, onError);
获取当前窗口中的所有选项卡
function logTabs(tabs) {
for (const tab of tabs) {
// tab.url requires the `tabs` permission or a matching host permission.
console.log(tab.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.tabs.query({ currentWindow: true }).then(logTabs, onError);
获取当前窗口中的活动选项卡
function logTabs(tabs) {
// tabs[0].url requires the `tabs` permission or a matching host permission.
console.log(tabs[0].url);
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.tabs
.query({ currentWindow: true, active: true })
.then(logTabs, onError);
获取 "mozilla.org"
或其任何子域下所有 HTTP 和 HTTPS URL 的选项卡
function logTabs(tabs) {
for (const tab of tabs) {
// tab.url requires the `tabs` permission or a matching host permission.
console.log(tab.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.tabs.query({ url: "*://*.mozilla.org/*" }).then(logTabs, onError);
扩展示例
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。
注意:此 API 基于 Chromium 的 chrome.tabs
API。本文档源自 Chromium 代码中的 tabs.json
。