■
現在、簡単にブックマーク情報にアクセスできる EasyBookmark クラスを開発中。将来的には、単にフォルダやページを追加したりするだけじゃなくて、文字色を変えられたりするなど、ユーザインターフェース面でも強化を図っていく方針です。
ただ、私は Firefox 拡張機能開発に関しては全くの素人なので、色々なところからソースコードをダウンロードしてきて、印刷して読んでいます。毎日ソースとにらめっこ。
とりあえずわかったことは、Firefox のブックマーク情報は RDF で格納されているらしく、直接 DOM で取り出すことは不可能だということ。一通り調べてみた限りでは、ビルトインクラスの BookmarksUtils を使うのが一番近道なようです。
たとえば、選択中のノードのキャプションを取り出したいときには、
var foo_res = (/*bookmarkObject*/)._selection.items[0].Value
とやって、foo_res を BookmarkUtils でごにょごにょするといいみたいです(ごにょごにょの部分は調査中)。ここで、foo_res は選択中のノードに関する情報で、RDF 関連のオブジェクトになります(これが DOM なら楽なのになぁ…)。
明日もこれの開発をやる予定です。
Firefox 拡張機能開発
Firefox の拡張機能開発に手をつけてみました。開発は IE よりは楽ですが、それでも絶対的にはすごく面倒です。とりあえず、私は次の本を読んで勉強しました。
Firefoxの改造テクニック!―カスタマイズ&拡張機能開発ガイド
- 作者: 大浦淳
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2005/09
- メディア: 単行本
- クリック: 155回
- この商品を含むブログ (24件) を見る
この本によると、どうやら Firefox 拡張機能の xpi ファイルってあるじゃないですか。これってソースが zip 圧縮されてるだけのファイルなので、普通に解凍すると中身見えちゃうみたいなんですよ。
たとえば、
これとか、ダウンロードして解凍してみてください。ちなみに、解凍後のフォルダにある *.jar ファイルも、解凍すると中身覗けちゃいます。
で、私はソースコード読んで勉強する人間なので、本はもうやめにして、xpi の中のソースコード読むことにしました。これなら、人の技術を簡単に盗めちゃいますしね。
拡張機能開発に便利なツール
Firefox の拡張機能開発が面倒なところは、適当な開発環境がないこと。たとえば、インストールに必要なファイルも全部自力でテキストファイルとして作らなくちゃならないですし、パッケージングも全部手作業。でも、世の中便利なものを作ってくれる人がいるみたいで、こんな便利なツールがありました。
これを使うだけで、インストールに必要なファイルを作ったりする面倒な作業が省けちゃいます。ただ、英語と操作性の悪さ難点なので、今度日本語向けに UI 整えたものを作っちゃいたいなーとも思ってます。
あっ、そうそう。今日はパッケージングを自動化する bat ファイルも書いてみました。そのうちいろんな作業を統合して処理できる環境を作りたいなぁとも思ったり。