Firefox拡張機能作成のためのtips
Firefoxの拡張機能を作成する際に,意外とサンプルコードが少なくてちょっと戸惑った機能に関するメモ.
ちなみにバージョンは3.5.5
設定をabout:configに保存
FUELを利用.
var Application = Components.classes["@mozilla.org/fuel/application;1"].getService(Components.interfaces.fuelIApplication); var value = Application.prefs.getValue("extensions.hoge.key",null); //データの取得 Application.prefs.setValue("extensions.hoge.key",value); //データの保存
複雑なデータはtoSource()などを用いて文字列化し,eval()して利用するのが簡単.
(もちろんセキュリティのチェックが必要)
JavaScriptからlocale内の文字列を扱う
.propertiesファイルを用意し,スクリプトから読み込む.
1. hoge/locale/ja-JP/hoge.properties を用意
用意する.propertiesファイルはこんな形式
HELLO=こんにちは QUIT=終了
2. スクリプト内からhoge.propertiesを読み込み,使用したい文字列をGetStringFromNameを使用して取得
var bundle = srGetStrBundle("chrome://hoge/locale/hoge.properties"); alert(bundle.GetStringFromName("HELLO"));
実際にはもっと高機能な関数がいろいろと存在.
書式付き文字列や,引数の値によって出力を変えることなどもできる.
現在ユーザが閲覧しているアクティブなページのdocumentオブジェクトを取得
var Application = Components.classes["@mozilla.org/fuel/application;1"].getService(Components.interfaces.fuelIApplication); var activeDocument = Application.activeWindow.activeTab.document;