ここへジャンプ:

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

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

この関数は 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 あり なし6060 あり
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,