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

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

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

メモ: この 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 に従っています。