Firefox 3ではじめる拡張機能開発

第1回 最小構成でインストール

この記事を読むのに必要な時間:およそ 3 分

先日とうとうFirefox 3がリリースされましたが, 皆さんはすでにインストールしましたでしょうか。本連載では,簡単な拡張機能を題材としてFirefox 3で拡張機能を開発するための基本的な手順を解説します。

連載第1回となる今回は,ポインタファイルとインストールマニフェストを作成し,必要最低限の構成でテストインストールを実施することを目標にします。

なお,第1回完成時点でのソースファイルは,下記ページから入手可能です。

タグヘルパー拡張機能の概要

Firefox 3ではブックマークと履歴の管理機能が一新されましたが,新たに追加された機能のひとつとして,ブックマークへのタグ付けが可能になりました。しかし,筆者はあまりタグ付けをする習慣が無く,特にブックマークを追加する際にキーボードでタグを入力するのが面倒だと感じていました。そこで,ブックマークしたページ中の選択範囲の文字列からタグを生成できれば,キーボード入力の煩雑さも軽減され,タグ付け機能の利用価値が上がるのではと考えました。本連載では,このような機能を「タグヘルパー」拡張機能として開発します。その動作イメージを図1図2に示します。

図1 タグヘルパーの動作イメージ(1)

図1 タグヘルパーの動作イメージ(1)

図2 タグヘルパーの動作イメージ(2)

図2 タグヘルパーの動作イメージ(2)

なお,Firefox 3ではCtrlキーを押下しながらの操作で複数の範囲を選択することが可能です。

開発に必要なアプリケーション

Firefox 3以外で拡張機能の開発に必要となるアプリケーションは,テキストエディタと圧縮ファイルを作成するツールだけです。OSがWindowsであれば,メモ帳と圧縮フォルダ機能でも構いません。なお,テキストエディタで日本語を含むファイルを編集する際は,文字コードUTF-8,BOM無しとする必要があります。

開発用の設定値変更

開発に必要なアプリケーションがそろえば,すぐにでも拡張機能の開発を始めることができますが,より開発しやすくするためにいくつかの設定値を変更することをおすすめします。なお,普段使用しているFirefoxプロファイルとは別に開発用のプロファイルを作成して作業したい方は,設定値を変更する前にプロファイルの作成などを済ませておいてください注1)。

設定値の変更をするには,まずFirefoxのロケーションバーへ「about:config」と入力し,表示された警告メッセージの内容を一読してからボタンを押して設定画面を開きます。その後,設定値を探してダブルクリックして変更します。設定値が存在しない場合,右クリックから「新規作成」「真偽値」で作成することができます。

設定値変更後の値意味
javascript.options.showInConsoletrueJavaScriptのエラーをエラーコンソールに出力する
javascript.options.stricttrueJavaScriptのエラーを厳密にする
browser.dom.window.dump.enabledtruedump関数によってコンソール(Windowsの場合,コマンドプロンプト)へ文字列を出力可能にする
nglayout.debug.disable_xul_cachetrueXULのキャッシュを無効にする
注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でも同様に開発可能です。

著者プロフィール

Gomita

拡張機能開発者。
現在までにScrapBook,FoxAge2ch,Tab Scope,FireGesturesの4つをリリースしている。

URLhttp://www.xuldev.org/

コメント

コメントの記入