--- title: tabs.query() slug: Mozilla/Add-ons/WebExtensions/API/tabs/query translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/query ---
{{AddonSidebar()}}

指定されたプロパティを持つ全てのタブを取得します。何も指定しない場合、全てのタブを取得します。

この関数は Promise を返す非同期関数です。

構文

var querying = browser.tabs.query(
  queryInfo             // object
)

パラメータ

queryInfo
object. query() 関数はここで指定されたプロパティにマッチするタブだけを取得します。 このプロパティについての詳細は {{WebExtAPIRef("tabs.Tab")}} を参照してください。
active{{optional_inline}}
boolean. 各ウインドウの中でアクティブかどうか。
audible{{optional_inline}}
boolean. 音が鳴っているか。
autoDiscardable{{optional_inline}}
boolean. リソースが少なくなったときにブラウザーによって自動的にdiscardできるか。
cookieStoreId {{optional_inline}}
string. CookieストアのIDが cookieStoreId なタブのみを返すために使います。このオプションは "cookies" permissionを持つ拡張でのみ使用できます。
currentWindow{{optional_inline}}
boolean. カレントウインドウの中のタブか。
discarded{{optional_inline}}
boolean. タブがdiscardされているか。 discardされたタブはコンテンツがメモリからアンロードされているが、タブの一覧には表示されたままになります。コンテンツはタブが次にアクティブになったときにリロードされます。
highlighted{{optional_inline}}
boolean. ハイライトされているか。
index{{optional_inline}}
integer. ウィンドウの中での位置。
muted{{optional_inline}}
boolean. ミュートされているか。
lastFocusedWindow{{optional_inline}}
boolean. 最後にフォーカスされたウインドウのタブか。
openerTabId{{optional_inline}}
integer. そのタブを開いたタブのID。
pinned{{optional_inline}}
boolean. ピン留めされているか。
status{{optional_inline}}
{{WebExtAPIRef('tabs.TabStatus')}}. ロードが完了しているか。
title{{optional_inline}}
string. ページのタイトル。
url{{optional_inline}}
string もしくは array of string. 1つ以上のマッチパターンにマッチするタブか。フラグメント識別子にはマッチしません。
windowId{{optional_inline}}
integer. そのウインドウのID。カレントウインドウの場合は、 {{WebExtAPIRef('windows.WINDOW_ID_CURRENT')}} 。
windowType{{optional_inline}}
{{WebExtAPIRef('tabs.WindowType')}}. そのタブの属するウインドウの種類。

戻り値

マッチしたタブの情報を持つ {{WebExtAPIRef('tabs.Tab')}} オブジェクトの array に解決される Promise

エラーが発生した場合、その Promise はエラーメッセージとともに却下されます。

ブラウザ実装状況

{{Compat("webextensions.api.tabs.query", 10)}}

全てのタブを取得する例:

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);

{{WebExtExamples}}

Acknowledgements

この API は Chromium の chrome.tabs APIに基づいています。 This documentation is derived from tabs.json in the Chromium code.

Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。