tabs.query()
Gets all tabs that have the specified properties, or all tabs if no properties are specified.
This is an asynchronous function that returns a Promise.
Syntax
let querying = browser.tabs.query(queryObj)
Parameters
queryObj-
object. Thequery()function will only get tabs whose properties match the properties included here.See the
tabs.Tabdocumentation to learn more about these properties.-
activeOptional -
boolean. Whether the tabs are active in their windows. -
audibleOptional -
boolean. Whether the tabs are audible. -
autoDiscardableOptional -
boolean. Whether the tabs can be discarded automatically by the browser when resources are low. -
stringorarrayofstring. Use this to return tabs whosetab.cookieStoreIdmatches any of thecookieStoreIdstrings. This option is only available if the add-on has the"cookies"permission. -
currentWindowOptional -
boolean. Whether the tabs are in the current window. -
discardedOptional -
boolean. Whether the tabs are discarded. A discarded tab is one whose content has been unloaded from memory, but is still visible in the tab strip. Its content gets reloaded the next time it's activated. -
boolean. Whether the tabs are hidden. -
highlightedOptional -
boolean. Whether the tabs are highlighted. -
indexOptional -
integer. The position of the tabs within their windows. -
mutedOptional -
boolean. Whether the tabs are muted. -
lastFocusedWindowOptional -
boolean. Whether the tabs are in the last focused window. -
pinnedOptional -
boolean. Whether the tabs are pinned. -
statusOptional -
tabs.TabStatus. Whether the tabs have completed loading. -
titleOptional -
string. Match page titles against a pattern. Requires the "tabs" permission or host permissions for the tab to match. -
urlOptional -
stringorarrayofstring. Match tabs against one or more match patterns. Note that fragment identifiers are not matched. Requires the "tabs" permission or host permissions for the tab to match. -
windowIdOptional -
integer. Theidof the parent window, orwindows.WINDOW_ID_CURRENTfor the current window. -
windowTypeOptional -
tabs.WindowType. The type of window the tabs are in.
-
Return value
Examples
Get all tabs:
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);
Get all tabs in the current window:
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);
Get the active tab in the current window:
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);
Get tabs for all HTTP and HTTPS URLs under "mozilla.org" or any of its subdomains:
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);
Example extensions
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
query |
Yes | 14Thepanel, app, devtools and popup values for WindowType are not supported. |
45 | ? | Yes | 14Pattern matching supports* and ?. |
? | ? | 54 | ? | 15Pattern matching supports* and ?. |
? |
Note: This API is based on Chromium's chrome.tabs API. This documentation is derived from tabs.json in the Chromium code.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query