この翻訳は不完全です。英語から この記事を翻訳 してください。

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

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

構文

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

パラメータ

queryInfo
object. query() 関数はここで指定されたプロパティにマッチするタブだけを取得します。 このプロパティについての詳細は tabs.Tab を参照してください。
activeOptional
boolean. 各ウインドウの中でアクティブかどうか。
audibleOptional
boolean. 音が鳴らされているか。
autoDiscardableOptional
boolean. リソースが少なくなったときにブラウザーによって自動的にdiscardできるか。
cookieStoreId Optional
string. Use this to return only tabs whose cookie store ID is cookieStoreId. This option is only available if the extension has the "cookies" permission.
currentWindowOptional
boolean. カレントウインドウの中のタブか。
discardedOptional
boolean. タブがdiscardされているか。 discardされたタブはコンテンツがメモリからアンロードされているが、タブの一覧には表示されたままになります。コンテンツはタブが次にアクティブになったときにリロードされます。
highlightedOptional
boolean. ハイライトされているか。
indexOptional
integer. ウィンドウの中での位置。
mutedOptional
boolean. ミュートにされているか。
lastFocusedWindowOptional
boolean. 最後にフォーカスされたウインドウのタブか。
openerTabIdOptional
integer. そのタブを開いたタブのID。
pinnedOptional
boolean. ピン留めされているか。
statusOptional
tabs.TabStatus. ロードが完了しているか。
titleOptional
string. ページのタイトル。
urlOptional
string or array of string. Match tabs against one or more match patterns. Note that fragment identifiers are not matched.
windowIdOptional
integer. そのウインドウのID。カレントウインドウの場合は、 windows.WINDOW_ID_CURRENT
windowTypeOptional
tabs.WindowType. そのタブの属するウインドウの種類。

戻り値

A Promise that will be fulfilled with an array of tabs.Tab objects, containing infomation about each matching tab. If any error occurs, the promise will be rejected with an error message.

ブラウザ実装状況

ChromeEdgeFirefoxFirefox for AndroidOpera
基本サポート 有り 有り14554 有り
queryInfo.active 有り 有り4554 有り
queryInfo.audible45 無し455432
queryInfo.autoDiscardable54 無し 無し 無し41
queryInfo.cookieStoreId 無し 無し52 無し 無し
queryInfo.currentWindow19 有り455415
queryInfo.discarded54 無し575741
queryInfo.highlighted 有り 無し4554 有り
queryInfo.index18 有り455415
queryInfo.lastFocusedWindow19 有り455415
queryInfo.muted45 無し455432
queryInfo.openerTabId 有り 無し57 無し 有り
queryInfo.pinned 有り 無し4554 有り
queryInfo.status 有り 有り4554 有り
queryInfo.title 有り 有り4554 有り
queryInfo.url 有り 有り452 3542 3 有り
queryInfo.windowId 有り 有り4554 有り
queryInfo.windowType 有り 有り4554 有り

1. The panel, app, devtools and popup values for WindowType are not supported.

2. Fails if the extension doesn't have the tabs permission.

3. Before Firefox 56, moz-extension:// URLs were not allowed.

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

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

Acknowledgements

この API は Chromiums の 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 に従っています。

ドキュメントのタグと貢献者

 このページの貢献者: hadayan0
 最終更新者: hadayan0,