開いているタブの一覧表示
このチュートリアルに沿って学習するには、あらかじめ 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()
の使用方法についてのチュートリアルを参照してください。