2009-09-01から1ヶ月間の記事一覧
2ちゃんねるなどでリンク避けとして"ttp://..."を使うことがあります。 今回の拡張では、ttpプロトコルを定義して、"http://..."と同様に扱えるようにしましょう。 ttpプロトコルを扱うXPCOMコンポーネントのクラスを登録します。 そのクラスのnewURI関数で…
マッチFOXに同梱しているDatabase.jsmライブラリは、SQLite用のORマッパです。tomblooが開発しました。 使用例 // Bookmarkモデルを生成。 var Bookmark = Entity({ name : 'bookmarks', fields : { id : 'INTEGER PRIMARY KEY', url : 'TEXT UNIQUE NOT NUL…
マッチFOXが生成するPrefs.jsmは、Firefox拡張でユーザ設定(about:configのアレ)を簡単に読み書きできるライブラリです。 ユーザ設定とは nsIPrefBranch - MDC Preferences - MDC ユーザ設定の項目の値には型があるので気をつけます。 boolean (真偽値) inte…
XMPPはインスタントメッセージのプロトコルで、Google Talkが使っています。 今後はGoogle Waveの基盤としてますます重要性が増す要注目のテクノロジです。そして!ついに!Google App EngineがXMPPをサポートしました! Google App Engine Blog: App Engine…
Firefox拡張はスクレイピングの最終兵器です。 今日は、某占いサイトをスクレイピングして、自分の星座のお告げを抜き出します。 某占いサイト スイーツ(笑)テーブルレイアウトです。 先にFirebugで、抜き出したいところのXPathを調べておきます。 個人的にC…
それでは実際にFirefox拡張を作ってみましょう。 全てのタブの、アドレスとタイトルを取得して、はてなダイアリーのリンクにするサイドバー拡張を作ります。タブの情報は、メインウィンドウのwindow.gBrowser変数に入っています。タブブラウザ用コード - MDC…
windowオブジェクトの入れ子について いつもwindow.alertなどで見る"Webページのwindow"のさらに上には、ブラウザ全体を支配する"XULのwindow"があります。 もちろんWebページ側からは触れませんが、Firefox拡張ならXULのwindowをいじれます。ブラウザはこの…
開発者必携ツール DOM Inspector 右クリックメニューを拡張したいんだけどデータどこにあんねん、というとき便利。 QuickRestart ブラウザを再起動して拡張プログラムをリロードするとき便利。 Console2 Javascriptコンソールの強化版。エラーメッセージをよ…
Firefox拡張を作りたいけど、ややこしくて手がつけられない、そんなあなたに・・・! 簡単キット"マッチFOX"。Ruby on Rails みたいに、scaffold(骨組み)を作ってくれます。この骨組みには、はてなブックマーク拡張から取り出したエッセンスが入っていて、 …