読者です 読者をやめる 読者になる 読者になる

Firefox拡張機能で設定値を読み書きする (その1)

Firefox JavaScript 連載 連載第1回

ここまでのあらすじ

Bottom Error ConsoleというFirefox拡張機能を作った。ウィンドウを分割して下側にエラーコンソールを表示するadd-onだ。でも、ちょっと困った所がある。

  • エラーコンソールのデフォルトの高さが300px固定になっている。もっと自由に指定したい。
  • 起動したときにエラーコンソールが必ず閉じている。特に、開いた状態で再起動した場合は、再起動後もやっぱり開いていてほしい。

これを修正することにした。

修正方法

これを直すには、設定値を保存しておく必要がある。about:configで出てくるあれだ。調べてみると以下のページが見つかった。
Preferences - MDC

ただ、このページはなんか分かりにくいので、自分なりに試したメモを残すことにした。

設定値の構造

設定値の名前はドットを区切りとしたツリー構造になっている。今回新しく作る設定値はextensions.bottomerrorconsoleの下に作ることにした。これでFirefoxが本来持っている設定値とかぶらないようにできる。

デフォルト値の設定

何やらデフォルト値を設定すると良いらしいので、そうする。これで拡張機能をインストールした直後からその値が使用可能になる。

デフォルト値はdefaults/preferences/*.jsファイルに書いておけば良い。今回のファイル構造はこんな風になった。defaultsディレクトリ以下が今回新しく作った分だ。

bottom_error_console-0.2.1-fx.xpi
-- install.rdf
-- chrome.manifest
-- chrome/
`-- bottom_error_console.jar
`-- defaults/ `-- preferences/ `-- bottomErrorConsole.js

defaults/preferencesというディレクトリ名は固定で、変えてはいけない。一方、jsファイルの名前は'.js'で終わっていれば何でも良い。ここではbottomErrorConsole.jsとした。

このjsファイルの書き方はこんな感じ。

// ここはコメント
// 文字列
pref("extensions.bottomerrorconsole.height_mode", "previous");
// 整数値
pref("extensions.bottomerrorconsole.default_height", 400);
// 真偽値
pref("extensions.bottomerrorconsole.is_opened_at_shutdown", false);

要するにprefの引数として「設定値名」と「デフォルト値」を指定すれば良い。また、値の種類として「文字列」、「整数値」、「真偽値」の3種類がある。適当に使い分けよう。

あとは起動時にFirefoxが勝手にこの値を読んでくる。再起動した後about:configにこの値が出ていれば成功だ。

次回はJavaScriptコードからこの設定値を読み書きする。

次へ >

この連載の一覧