アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 特集 » Firefox 3ではじめる拡張機能開発 » 第1回 最小構成でインストール

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

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

先日とうとう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/

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

読むウェブ ~本とインタラクション

ディスプレイで読む活字とそのインタラクション(interaction:相互作用)について,最新Webを紹介しながら読み解いていく。

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス