開いているタブの一覧表示
このチュートリアルに沿って学習するには、あらかじめ SDK をインストールし、cfx 入門を学習してください。
開いているタブを一覧表示するには、tabs オブジェクトを反復処理します。
以下のアドオンは、ユーザーがクリックしたときに、開いているタブの URL をログとして出力するウィジェット を追加します。
1 2 3 4 5 6 7 8 9 10 11 12 | var widget = require("widget").Widget({ id: "mozilla-link", label: "Mozilla website", 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() を使用してタブにスクリプトを付加する必要があります。以下のアドオンは、開いているすべてのタブにスクリプトを付加します。付加されたスクリプトは、タブの文書に赤い枠を追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | var widget = require("widget").Widget({ id: "mozilla-link", label: "Mozilla website", 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() の使用方法についてのチュートリアルを参照してください。