语法
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数组。使用它来返回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数组。将标签页与一个或多个匹配模式进行匹配。请注意,不会匹配片段标识符。需要“tabs”权限或匹配标签的主机权限。 windowId可选-
integer。父窗口的id,或windows.WINDOW_ID_CURRENT(用于当前窗口)。 windowType可选-
tabs.WindowType。标签页所在窗口的类型。
返回值
一个 Promise,其会兑现为包含 tabs.Tab 对象(其中包含有关每个匹配的标签页的信息)的数组。
如果发生任何错误,promise 将以错误消息拒绝。
示例
获取所有标签页:
function logTabs(tabs) {
for (const tab of tabs) {
// tab.url 需要 `tabs` 权限或匹配的主机权限。
console.log(tab.url);
}
}
function onError(error) {
console.error(`发生错误:${error}`);
}
browser.tabs.query({}).then(logTabs, onError);
获取当前窗口中的所有标签页:
function logTabs(tabs) {
for (let tab of tabs) {
// tab.url 需要 `tabs` 权限或匹配的主机权限。
console.log(tab.url);
}
}
function onError(error) {
console.log(`发生错误:${error}`);
}
browser.tabs.query({ currentWindow: true }).then(logTabs, onError);
获取当前窗口中的活动标签页:
function logTabs(tabs) {
// tabs[0].url 需要 `tabs` 权限或匹配的主机权限。
console.log(tabs[0].url);
}
function onError(error) {
console.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 需要 `tabs` 权限或匹配的主机权限。
console.log(tab.url);
}
}
function onError(error) {
console.error(`发生错误:${error}`);
}
browser.tabs.query({ url: "*://*.mozilla.org/*" }).then(logTabs, onError);
示例扩展
浏览器兼容性
Loading…
备注:
此 API 基于 Chromium 的 chrome.tabs API。该文档衍生自 Chromium 代码中的 tabs.json。