Firefox 3ではじめる拡張機能開発
第1回 最小構成でインストール
先日とうとうFirefox 3がリリースされましたが, 皆さんはすでにインストールしましたでしょうか。本連載では,簡単な拡張機能を題材としてFirefox 3で拡張機能を開発するための基本的な手順を解説します。
連載第1回となる今回は,ポインタファイルとインストールマニフェストを作成し,必要最低限の構成でテストインストールを実施することを目標にします。
なお,第1回完成時点でのソースファイルは,下記ページから入手可能です。
タグヘルパー拡張機能の概要
Firefox 3ではブックマークと履歴の管理機能が一新されましたが,新たに追加された機能のひとつとして,ブックマークへのタグ付けが可能になりました。しかし,筆者はあまりタグ付けをする習慣が無く,特にブックマークを追加する際にキーボードでタグを入力するのが面倒だと感じていました。そこで,ブックマークしたページ中の選択範囲の文字列からタグを生成できれば,キーボード入力の煩雑さも軽減され,タグ付け機能の利用価値が上がるのではと考えました。本連載では,このような機能を「タグヘルパー」拡張機能として開発します。その動作イメージを図1,図2に示します。
なお,Firefox 3ではCtrlキーを押下しながらの操作で複数の範囲を選択することが可能です。
開発に必要なアプリケーション
Firefox 3以外で拡張機能の開発に必要となるアプリケーションは,テキストエディタと圧縮ファイルを作成するツールだけです。OSがWindowsであれば,メモ帳と圧縮フォルダ機能でも構いません。なお,テキストエディタで日本語を含むファイルを編集する際は,文字コードUTF-8,BOM無しとする必要があります。
開発用の設定値変更
開発に必要なアプリケーションがそろえば,すぐにでも拡張機能の開発を始めることができますが,より開発しやすくするためにいくつかの設定値を変更することをおすすめします。なお,普段使用しているFirefoxプロファイルとは別に開発用のプロファイルを作成して作業したい方は,設定値を変更する前にプロファイルの作成などを済ませておいてください(注1)。
設定値の変更をするには,まずFirefoxのロケーションバーへ「about:config」と入力し,表示された警告メッセージの内容を一読してからボタンを押して設定画面を開きます。その後,設定値を探してダブルクリックして変更します。設定値が存在しない場合,右クリックから「新規作成」→「真偽値」で作成することができます。
| 設定値 | 変更後の値 | 意味 |
|---|---|---|
| javascript.options.showInConsole | true | JavaScriptのエラーをエラーコンソールに出力する |
| javascript.options.strict | true | JavaScriptのエラーを厳密にする |
| browser.dom.window.dump.enabled | true | dump関数によってコンソール(Windowsの場合,コマンドプロンプト)へ文字列を出力可能にする |
| nglayout.debug.disable_xul_cache | true | XULのキャッシュを無効にする |
- 注1)
- プロファイルの管理について,詳細は下記URLを参照してください。
ポインタファイルの作成
Firefoxの拡張機能は拡張子が.xpiのインストーラとして配布されますが,インストール後はFirefoxプロファイルフォルダ内(注2)の「extensions」フォルダ内に展開されて配置されます。拡張機能を開発する際,ソースファイルからインストーラを作成し,Firefoxへインストールして動作確認するという手順ももちろん可能です。しかし,ソースファイルを修正するたびに毎回インストールし直さなければならないのは面倒ですので,通常はインストーラを作成せずにソースファイルから直接インストールを実施します。
まず,ソースファイルを配置するための作業フォルダを作成します。作業フォルダはどこでも構いませんが,本連載では,「C:\work\taghelper」フォルダ(注3)をタグヘルパー用の作業フォルダとして話を進めます。次に,Firefoxプロファイルフォルダ内の「extensions」フォルダへ,ファイル名「taghelper@xuldev.org」のファイルを作成します。このファイルはFirefoxプロファイルフォルダの外に配置したソースファイルから直接インストールを実施する際に必要なファイルで,ポインタファイルと呼びます。ポインタファイルのファイル名は,後述のインストールマニフェストに記述する<em:id>タグの値と同一でなければなりません。引き続き,ポインタファイルをテキストエディタで編集します。ポインタファイルに記述する内容は,その拡張機能のソースファイルが配置されたフォルダのパスです。よって,今回の場合はリスト1の内容となります。ポインタファイルの作成は以上で完了です。
リスト1 ポインタファイルへの記述内容
C:\work\taghelper
- 注2)
- Firefoxプロファイルフォルダについて,詳細は下記URLを参照してください。
- 注3)
- 本連載ではOSはWindowsを前提としていますが,もちろんLinuxやMacでも同様に開発可能です。
- 2009年4月27日 仮想化技術ベンチ(OS3種+仮想環境3種)ESX+FreeBSD良好,Firefox3.1β3登場,Qt 4.5.1テスタ募集,NetBSDブログおよびTwitter登場
- 2009年3月10日 QEMU 0.10.0登場,KDE 4.2.1登場,Samba 3.3登場,Firefox/Opera/PHPセキュリティ対応,YouTube BSDチャンネル追加他
- 「言葉本来の力を活かしたインターフェースを作りたかった」─Ubiquity開発者Aza Raskin氏インタビュー
- 2008年11月26日 仮想ネットワーク機能VImageマージ進行,df(1)に-Tオプション追加,Wine更新も“Invalid address”問題残る,Firefox 3国際版登場,cpupowerd登場他多数
- 第1回 Greasemonkeyによるアプリケーション開発の準備



