技術メモ帳 このページをアンテナに追加 RSSフィード

2006-08-24

[]Firefox拡張を簡単に改造する方法 22:20 Firefox拡張を簡単に改造する方法を含むブックマーク Firefox拡張を簡単に改造する方法のブックマークコメント

毎回、jar ファイルを作り直す作業が

面倒だと思った事はないだろうか。

じつは、chrome.manifest というファイルを

書き換える事によってこの作業は必要なくなる。


たとえば、FireBug を簡単に改造する手順を説明してみる。

この手順では、既にインストールしてあるものを

改造する手順を説明させていただくこととする。


ちなみに、コレに関連した話として、

入れておくと便利な拡張に、

Extension Developer's Extension というものがある。

http://ted.mielczarek.org/code/mozilla/extensiondev/

これについては後述する。


まず、FireBug のインストールされているディレクトリを探す。

それは、プロファイルディレクトリの下の

./extensions/firebug@software.joehewitt.com/

ディレクトリが該当する。


プロファイルディレクトリの

プラットフォームごとの場所については、

下記ページが非常に参考になる。

http://www.mozilla-japan.org/support/firefox/profile


このディレクトリに先ほど説明した

chrome.manifest というファイルが存在しており、

以下はそのファイルの中身である。

content firebug jar:chrome/firebug.jar!/content/firebug/ xpcnativewrappers=no
skin	firebug	classic/1.0	jar:chrome/firebug.jar!/skin/classic/
locale	firebug	en-US		jar:chrome/firebug.jar!/locale/en-US/

overlay chrome://browser/content/browser.xul         chrome://firebug/content/browserOverlay.xul

overlay chrome://global/content/customizeToolbar.xul         chrome://firebug/content/customizeToolbarOverlay.xul

先頭行を見ていただけるとわかると思うが、

jar:chrome/firebug.jar!/content/firebug

のようになっており、

実は、明示的に jarファイル を参照するようになっている。

そしてここを jarファイル参照 ではなく

単に ディレクトリ参照 するように変更すれば

毎回わざわざ jarファイル に作り直す必要がなくなる。

先ほどの例では該当部分を以下のように変更すれば良いだろう。

chrome/content/firebug

jarファイル参照 をしないように

書き換えた chrome.manifest はコチラ。

content firebug chrome/content/firebug/ xpcnativewrappers=no
skin	firebug	classic/1.0	chrome/skin/classic/
locale	firebug	en-US		chrome/locale/en-US/

overlay chrome://browser/content/browser.xul         chrome://firebug/content/browserOverlay.xul

overlay chrome://global/content/customizeToolbar.xul         chrome://firebug/content/customizeToolbarOverlay.xul

最後に、chrome.manifest 通り

firebug.jar を解凍してやる必要がある。

このとき解凍方法に十分注意する必要がある。

解凍ソフトによっては、

余分なディレクトリを勝手に生成してしまうからだ。


あとは、もう FireBug のソースを好き勝手いじったら良い。

そして、ちょうど気分の良いところで Firefox を再起動させて

その結果を確認するだけで良い。

ソースをいじる -> 再起動 -> 確認

という jarファイル を再構築しない流れにすることができた。


ちなみに、Greasemonkey なんかははじめから

ディレクトリ参照 してるので

デフォルトでこのように気軽にいじって遊ぶ事が出来たりする。

あまり詳しく調べてないから正確かはわからないが、

jarファイル にまとめておくと

起動時の読み込みが速くなるらしいので、

完成版では、jarファイル にしといた方が

良いんじゃないかと個人的に思う。

Greasemonkey もやっといたら良いのにと思った。


ところで、先述した Extension Developer's Extension という

拡張を利用すれば、

メニュー から、Reload All chrome という項目を

選択するだけで ソースを再読み込みする事が出来るようになるため、

再起動する手間が減る。

(が、いじった場所によっては

やっぱり再起動が必要になる場合も無きにしもあらず)


他にも、"正規表現実行機" とか

"リアルタイムなXULエディタ" とかついてるので

入れといて損は無いんじゃないかと思う。