tabs.query()
============

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

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

構文
--


```js
var querying = browser.tabs.query(
  queryInfo, // object
);
```

### パラメータ

`queryInfo`

`object`. `query()` 関数はここで指定されたプロパティにマッチするタブだけを取得します。 このプロパティについての詳細は `tabs.Tab` を参照してください。

`active`省略可

`boolean`. 各ウインドウの中でアクティブかどうか。

`audible`省略可

`boolean`. 音が鳴っているか。

`autoDiscardable`省略可

`boolean`. リソースが少なくなったときにブラウザーによって自動的に discard できるか。

`cookieStoreId` 省略可

`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` (en-US). ロードが完了しているか。

`title`省略可

`string`. ページのタイトル。

`url`省略可

`string` もしくは `array of string`. 1 つ以上のマッチパターンにマッチするタブか。フラグメント識別子にはマッチしません。

`windowId`省略可

`integer`. そのウインドウの ID。カレントウインドウの場合は、 `windows.WINDOW_ID_CURRENT` (en-US) 。

`windowType`省略可

`tabs.WindowType` (en-US). そのタブの属するウインドウの種類。


### 戻り値

マッチしたタブの情報を持つ ``tabs.Tab`` オブジェクトの `array` に解決される `Promise`。

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

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

例
-

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


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


カレントウインドウの全てのタブを取得する例：


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


カレントウインドウのアクティブなタブを取得する例：


```js
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 を開いている全てのタブを取得する例：


```js
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 を開いている全てのタブを取得する例：


```js
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 を開いている全てのタブを取得する例：


```js
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.Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。