構文
var querying = browser.tabs.query( queryInfo, // object ); パラメーター
queryInfo-
object.query()関数はここで指定されたプロパティにマッチするタブだけを取得します。 このプロパティについての詳細はtabs.Tabを参照してください。active省略可-
boolean. 各ウインドウの中でアクティブかどうか。 audible省略可-
boolean. 音が鳴っているか。 autoDiscardable省略可-
boolean. リソースが少なくなったときにブラウザーによって自動的に discard できるか。 -
string. Cookie ストアの ID がcookieStoreIdなタブのみを返すために使います。このオプションは"cookies"permissionを持つ拡張でのみ使用できます。 currentWindow省略可-
boolean. カレントウインドウの中のタブか。 discarded省略可-
boolean. タブが discard されているか。 discard されたタブはコンテンツがメモリーからアンロードされているが、タブの一覧には表示されたままになります。コンテンツはタブが次にアクティブになったときにリロードされます。 highlighted省略可-
boolean. ハイライトされているか。 index省略可-
integer. ウィンドウの中での位置。 muted省略可-
boolean. ミュートされているか。 lastFocusedWindow省略可-
boolean. 最後にフォーカスされたウインドウのタブか。 openerTabId省略可-
integer. そのタブを開いたタブの ID。 pinned省略可-
boolean. ピン留めされているか。 status省略可-
tabs.TabStatus. ロードが完了しているか。 title省略可-
string. ページのタイトル。 url省略可-
stringもしくはarray of string. 1 つ以上のマッチパターンにマッチするタブか。フラグメント識別子にはマッチしません。 windowId省略可-
integer. そのウインドウの ID。カレントウインドウの場合は、windows.WINDOW_ID_CURRENT。 windowType省略可-
tabs.WindowType. そのタブの属するウインドウの種類。
戻り値
マッチしたタブの情報を持つ オブジェクトの tabs.Tabarray に解決される Promise。
エラーが発生した場合、その Promise はエラーメッセージとともに却下されます。
ブラウザーの互換性
例
全てのタブを取得する例:
function logTabs(tabs) { for (let tab of tabs) { // tab.url requires the `tabs` permission console.log(tab.url); } } function onError(error) { console.log(`Error: ${error}`); } var querying = browser.tabs.query({}); querying.then(logTabs, onError); カレントウインドウの全てのタブを取得する例:
function logTabs(tabs) { for (let tab of tabs) { // tab.url requires the `tabs` permission console.log(tab.url); } } function onError(error) { console.log(`Error: ${error}`); } var querying = browser.tabs.query({ currentWindow: true }); querying.then(logTabs, onError); カレントウインドウのアクティブなタブを取得する例:
function logTabs(tabs) { for (let tab of tabs) { // tab.url requires the `tabs` permission console.log(tab.url); } } function onError(error) { console.log(`Error: ${error}`); } var querying = browser.tabs.query({ currentWindow: true, active: true }); querying.then(logTabs, onError); "mozilla.org" またはそのサブドメイン下の HTTP/HTTPS URL を開いている全てのタブを取得する例:
function logTabs(tabs) { for (let tab of tabs) { // tab.url requires the `tabs` permission console.log(tab.url); } } function onError(error) { console.log(`Error: ${error}`); } var querying = browser.tabs.query({ url: "*://*.mozilla.org/*" }); querying.then(logTabs, onError); moz-extension:// URL を開いている全てのタブを取得する例:
function logTabs(tabs) { console.log(tabs); for (let tab of tabs) { // tab.url requires the `tabs` permission console.log(tab.url); } } function onError(error) { console.log(`Error: ${error}`); } var querying = browser.tabs.query({ url: "moz-extension://*/*" }); querying.then(logTabs, onError); この拡張機能の URL を開いている全てのタブを取得する例:
function logTabs(tabs) { console.log(tabs); for (let tab of tabs) { // tab.url requires the `tabs` permission console.log(tab.url); } } function onError(error) { console.log(`Error: ${error}`); } var querying = browser.tabs.query({ url: browser.extension.getURL("*") }); querying.then(logTabs, onError); Example extensions
- annotate-page
- apply-css
- beastify
- bookmark-it
- chill-out
- contextual-identities
- cookie-bg-picker
- find-across-tabs
- history-deleter
- imagify
- list-cookies
- session-state
- tabs-tabs-tabs
メモ: この API は Chromium の chrome.tabs API に基づいています。 This documentation is derived from tabs.json in the Chromium code.