Firefox アドオン開発(3) パネルの生成、チェックボックス管理


設定ファイルから読み込まれたプロファイルはこのようになっている(とする)。
Search Engineを有効化すれば'google'と'yahoo'という文字列が含まれるリンクがハイライトされ、movieを有効化すれば'youtube'と'niconico'という文字列が含まれるリンクがハイライトされてほしい。

ハイライトを実装するのはひとまずおいておいて、はじめに「どのリンクをハイライトさせるか」を管理する仕組みが必要になる。チェックが入っているプロファイルについては、タブにかかわらずハイライトされてほしいから、グローバルに参照できるようにしたい。



これをユーザーが操作する仕組みはパネルに設置するチェックボックスなのだが、プロファイルの数は固定ではないのでパネルのHTMLを動的に生成する必要がある。

まぁまずはひな形を作るところから。
ここに読み込んだプロファイルのぶんだけセレクターをくっつけていく。
特に難しいこともないのでサクッと。 テーブルにしたのは、cssなしでも見た目がそこそこ整ってくれるから。

そうしたら、チェックボックスの状態でどのプロファイルが有効なのかを管理する仕組みをつくる。

現時点ではそこまでmainの規模が大きくなってないので、とりあえずmain内で有効なプロファイルを管理するようにした。
前回のエントリーでも書いたけれども、Content Scriptはページごとに動くスクリプトになる。なので全タブ共通で参照するような値はAddon Script側に持たせないといけない。

ここまでできたら、次は各タブにContent Scriptを自動読込させる仕組みをつくる。