2009-09-01から1ヶ月間の記事一覧

Firefox拡張入門第7回(独自プロトコルの定義 - ttp)

2ちゃんねるなどでリンク避けとして"ttp://..."を使うことがあります。 今回の拡張では、ttpプロトコルを定義して、"http://..."と同様に扱えるようにしましょう。 ttpプロトコルを扱うXPCOMコンポーネントのクラスを登録します。 そのクラスのnewURI関数で…

Firefox拡張入門第6回(Database.jsmライブラリ)

マッチFOXに同梱しているDatabase.jsmライブラリは、SQLite用のORマッパです。tomblooが開発しました。 使用例 // Bookmarkモデルを生成。 var Bookmark = Entity({ name : 'bookmarks', fields : { id : 'INTEGER PRIMARY KEY', url : 'TEXT UNIQUE NOT NUL…

Firefox拡張入門第5回(Prefs.jsmライブラリ)

マッチFOXが生成するPrefs.jsmは、Firefox拡張でユーザ設定(about:configのアレ)を簡単に読み書きできるライブラリです。 ユーザ設定とは nsIPrefBranch - MDC Preferences - MDC ユーザ設定の項目の値には型があるので気をつけます。 boolean (真偽値) inte…

XMPPの概略(和訳)

XMPPはインスタントメッセージのプロトコルで、Google Talkが使っています。 今後はGoogle Waveの基盤としてますます重要性が増す要注目のテクノロジです。そして!ついに!Google App EngineがXMPPをサポートしました! Google App Engine Blog: App Engine…

Firefox拡張入門第4回(某占いサイトをスクレイピング)

Firefox拡張はスクレイピングの最終兵器です。 今日は、某占いサイトをスクレイピングして、自分の星座のお告げを抜き出します。 某占いサイト スイーツ(笑)テーブルレイアウトです。 先にFirebugで、抜き出したいところのXPathを調べておきます。 個人的にC…

Firefox拡張入門第3回(全てのタブからはてダのリンクを作る)

それでは実際にFirefox拡張を作ってみましょう。 全てのタブの、アドレスとタイトルを取得して、はてなダイアリーのリンクにするサイドバー拡張を作ります。タブの情報は、メインウィンドウのwindow.gBrowser変数に入っています。タブブラウザ用コード - MDC…

Firefox拡張入門第2回(MozReplでFirefoxを探検しよう)

windowオブジェクトの入れ子について いつもwindow.alertなどで見る"Webページのwindow"のさらに上には、ブラウザ全体を支配する"XULのwindow"があります。 もちろんWebページ側からは触れませんが、Firefox拡張ならXULのwindowをいじれます。ブラウザはこの…

Firefox拡張入門第1回(開発の準備)

開発者必携ツール DOM Inspector 右クリックメニューを拡張したいんだけどデータどこにあんねん、というとき便利。 QuickRestart ブラウザを再起動して拡張プログラムをリロードするとき便利。 Console2 Javascriptコンソールの強化版。エラーメッセージをよ…

Firefox拡張簡単キット"マッチFOX"

Firefox拡張を作りたいけど、ややこしくて手がつけられない、そんなあなたに・・・! 簡単キット"マッチFOX"。Ruby on Rails みたいに、scaffold(骨組み)を作ってくれます。この骨組みには、はてなブックマーク拡張から取り出したエッセンスが入っていて、 …