tabs.query()
获取具有指定属性的所有标签页,或者在未指定属性时获取所有标签页。
语法
let querying = browser.tabs.query(queryInfo)
参数
queryInfo-
object。()函数获取属性与此处包含的属性匹配的标签页。有关这些属性的详细信息,请参阅
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。标签页是否已被丢弃。已丢弃的标签页是指其内容已从内存中卸载,但在标签栏中仍可见的标签页。下次激活时,其内容将重新加载。 groupId可选-
integer。标签页所属的标签组的 ID,或者对于未分组的标签页为-1(tabGroups.TAB_GROUP_ID_NONE)。有关标签组的更多信息,请参阅tabGroups。 -
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。标签页所在的窗口类型。
返回值
一个 Promise,它将使用一个 array 的 tabs.Tab 对象来解析,其中包含有关每个匹配标签页的信息。
如果发生任何错误,Promise 将以错误消息被拒绝。
示例
获取所有标签页
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);
扩展程序示例
浏览器兼容性
加载中…
注意:此 API 基于 Chromium 的 chrome.tabs API。本文档源自 Chromium 代码中的 tabs.json。