開いているタブの一覧表示

このチュートリアルに沿って学習するには、あらかじめ SDK をインストールし、cfx 入門を学習してください。

開いているタブを一覧表示するには、tabs オブジェクトを反復処理します。

以下のアドオンは、ユーザーがクリックしたときに、開いているタブの URL をログとして出力するウィジェット を追加します。

var widget = require("widget").Widget({
  id: "mozilla-link",
  label: "Mozilla website",
  contentURL: "http://www.mozilla.org/favicon.ico",
  onClick: listTabs
});

function listTabs() {
  var tabs = require("tabs");
  for each (var tab in tabs)
    console.log(tab.url);
}

このアドオンを実行し、タブを 2、3 個読み込み、ウィジェットをクリックすると、コンソールに以下のような出力が表示されます。

info: http://www.mozilla.org/en-US/about/
info: http://www.bbc.co.uk/

このタブでホストされるコンテンツには直接アクセスできません。タブのコンテンツにアクセスするには、tab.attach() を使用してタブにスクリプトを付加する必要があります。以下のアドオンは、開いているすべてのタブにスクリプトを付加します。付加されたスクリプトは、タブの文書に赤い枠を追加します。

var widget = require("widget").Widget({
  id: "mozilla-link",
  label: "Mozilla website",
  contentURL: "http://www.mozilla.org/favicon.ico",
  onClick: listTabs
});

function listTabs() {
  var tabs = require("tabs");
  for each (var tab in tabs)
    runScript(tab);
}

function runScript(tab) {
  tab.attach({
    contentScript: "document.body.style.border = '5px solid red';"
  });
}

さらに詳しく

SDK でのタブの操作方法の詳細については、API リファレンス:tabs(英語)を参照してください。

タブでスクリプトを実行する方法の詳細については、tab.attach() の使用方法についてのチュートリアルを参照してください。