GLOBAL-ALIGN::left ALIGN::center 拡張機能 開発の 基礎知識 [[EM:Part3]] ---- CHAPTER::拡張機能開発のチュートリアル チュートリアル ---- 拡張機能を 実際に 作ってみる ---- CHAPTER::開発環境の整備 HEADER::拡張機能開発のチュートリアル FOOTER::開発環境に必要なもの ALIGN::center 開発環境に 必要なもの ---- [[EM:絶対に必要]]  ・[テキストエディタ]   ([UTF-8]を扱えるもの)  ・[アーカイバ]   ([ZIP形式]を扱えるもの) [[EM:あると便利]]  ・[JavaScript]デバッガ ---- テキスト エディタ ---- 秀丸エディタ  [[http://hide.maruo.co.jp/]] TeraPad  [[http://www5f.biglobe.ne.jp/~t-susumu/]] ---- アーカイバ ---- 7-Zip  [[http://www.7-zip.org/ja/]] ---- デバッガ ---- Venkman JavaScriptデバッガ  [[https://addons.mozilla.org/firefox/216/]]  [[(日本語パック)|https://piro.sakura.ne.jp/latest/blosxom.cgi/mozilla/extension/2005-09-30_venkman-ja.htm]] ---- ALIGN::center しておくと 便利な設定 ---- [コンソール]への エラーメッセージ出力 ---- [[PRE: user_pref("browser.dom.window.dump.enabled", true); ]] ---- dump("文字列") という機能が使えるようになる 渡した文字列がコンソールに表示される ※Windows環境ではFirefoxを   -consoleオプション付きで起動する  LinuxやMac OS XではFirefoxを   ターミナルから起動する ---- エラーコンソールへの 内部エラーの表示 ---- [[PRE: user_pref("javascript.options.showInConsole", true); ]] ※「ツール」→「エラーコンソール」で  エラーコンソールを起動 ---- 次 ---- FOOTER::拡張機能を実際に作ってみる ALIGN::center 拡張機能を 実際に 作ってみる ---- 拡張機能の タイプ ---- 主に 2種類 ---- ・新機能を加える物 ・既存の機能の  挙動を変える物 ---- CHAPTER::Close All Tabs 新機能を 加える ---- ・ツールバーのボタン ・サイドバーのパネル ・それ以外 ---- ツールバーボタンと サイドバーパネルは 簡単に追加できる ---- なので そこを解説 ---- CHAPTER::Close All Tabs-Overview FOOTER::拡張機能を実際に作ってみる - Close All Tabs ALIGN::center [[EM:Close All Tabs]] 「すべてのタブを一度に閉じる」 ボタンをツールバーに加えてみる ---- 目標(要求仕様)  ・ツールバーに「すべてのタブを閉じる」   ボタンを加える。  ・ボタンを押すと、空のタブを残して   すべてのタブを閉じる。  ・「すべてのタブを閉じる」という項目を   「ファイル」メニューの中にも加える。  ・キーボードショートカット「Ctrl-Q」でも   機能を利用できるようにする。 ---- 作業手順  1. IDを決める  2. どこをいじればいいか調べる  3. フォルダとファイルを用意する  4. XULで構造を定義する  5. JavaScriptで挙動を定義する  6. CSSで外観を定義する  7. パッケージングする  8. 配布 ---- 用意するもの:  ボタン用アイコン画像   大サイズ 24×24 [[image src="icon.png" width="72" height="72"]]   小サイズ 16×16 [[image src="icon-small.png" width="48" height="48"]] ---- CHAPTER::Close All Tabs-ID ALIGN::center IDを決める ---- ID ---- 拡張機能を 識別するための 一意な名前 ---- 使えるIDの形式  [[EM:UUID(GUID)]]:完全なID   {E0EACCD1-98F3-4936-A229-41C667E820B8}  [[EM:名前@ドメイン]]:簡易的なID   closealltabs@piro.sakura.ne.jp ---- UUIDの 作り方 ---- Web上のサービスを 使うと楽チンです [[http://kruithof.xs4all.nl/uuid/uuidgen]] ---- 次 ---- CHAPTER::Close All Tabs-Inspect ALIGN::center どこをいじれば いいか調べる ---- ツールバーのボタンの追加の場合は 定型的な書き方だけでいけるので 特に調べなくてもよい ---- 次 ---- CHAPTER::Close All Tabs-Folder ALIGN::center フォルダと ファイルを 用意する ---- プロファイル フォルダの中に 拡張機能用の フォルダを作る ---- |Windows XP/2000|C:\Documents and Settings\<ユーザ名>\Application Data
\Mozilla\Firefox\<プロファイル名>\extensions |Windows NT|C:\WINNT\Profiles\<ユーザ名>\Application Data
\Mozilla\Firefox\<プロファイル名>\extensions |Windows 98/ME|C:\Windows\Application Data
\Mozilla\Firefox\<プロファイル名>\extensions |Mac OS X| ~/Library/Application Support
/Firefox/<プロファイル名>/extensions |Linux| ~/.mozilla/firefox/<プロファイル名>/extensions ---- [[image src="03.jpg" width="319" height="600"]] ---- 次 ---- CHAPTER::Close All Tabs-XUL ALIGN::center XULで 構造を 定義する ---- closealltabs.xul [[PRE: