Fiemacs 3.7 が承認されました。
Firemacs 3.7
Firefox で新しいフレームを開くと、そのフレームでは Firemacs 3.6 が動かないというレポートを 3 つ頂きました。忙しかったのと、Firefox 3.5 では再現しないのとで、ほおっておいたのですが、昨日時間ができたので調べてみました。
Firefox 2 と 3 では内部の構造が異なる部分があります。そこで、いわゆるアダプターパターンが書いてあって、起動時に Firefox のバージョンを判断し、どちらのアダプターを使うか決めています。
Firemacs 3.5 までは、navigator.userAgent を見て Firefox のバージョンを判断していました。Firefox なら当然 Firefox という文字列があると思いきや、Iceweasel や BonEcho など文字列を変えているパッケージがあって、その都度追加するのが嫌になってきました。また、ついには navigator.userAgent を IE に変更している人からも動かないと言われて、この方法を諦めました。
そこで Firemacs 3.6 では、gFindBar.onFindCommand という関数があれば Firefox 3、なければ 2 と判断することにしました。このコードは、Firefox 3.5 ではうまく動きます。また、Firefox 3.0 でも起動時のフレームではうまく動きます。しかし、起動後に新しく開いたフレームでは、見えない形でなんらかのエラーを起こしているらしく、おかしくなります。
Firefox 3.5 ではうまく動くことから判断して、これは Firefox 3.0 のバグだと思います。しょうがないので、navigator.userAgent を調べる昔のコードに戻しました。ただし、知らない文字列の場合はすべて Firefox 3 だと決め打ちました。
Firefox 2 で navigator.userAgent を変更している場合はうまく行きませんが、そういう人はサポートしないと割り切ります。
というわけで、Firemacs 3.7 を提出しました。380 個の承認待ちがあるようなので、いつのことになるのやら。。。
Firemacs 3.6
Firemacs 3.6が承認されました。:)
Firemacs 3.6 のリリース
「Firefox 3.5 に対応した Firemacs がないのか」と何人もの人に聞かれましたが、もう3.6を提出して承認待ちの状態ですよ。承認を待っているアドオンが多すぎて、承認にはしばらくかかるようです。Firefox とバージョンが合わなかったのが、心残り。。。
Software Design の Firemacs 解説記事
Software Design 2009年1月号に「Firemacs で Emacs 風ブラウジング」という記事を書きました。「Firefox 徹底カスタマイズ術」という特集の中です。よかったら読んでみて下さい。
Software Design (ソフトウエア デザイン) 2009年 01月号 [雑誌]
- 出版社/メーカー: 技術評論社
- 発売日: 2008/12/18
- メディア: 雑誌
- 購入: 2人 クリック: 8回
- この商品を含むブログ (16件) を見る
今日のFiremacs
やる気が出たので Firemacs をハックしています。今日の目玉は、これ。
- C-xC-s で選択した文字列を web 検索
- web 検索バーを利用する
- C-xC-a で選択した文字列(住所)を Google Maps で検索
前者はメニューで実現されているけど、後者は世界初だったりして(まさかね)。
後者は、URL とフォームの ID さえ分れば、他のサービスでも使える手法です。だから、それらを入力させる UI を作らないといけないなぁ。今はハードコーディングなんです。。。
よく使うサービスって何でしょうか?
- 英和辞典(ALC とか)
- 国語辞典(goo とか)
- 郵便番号検索(ページの構造上無理?)
- 他は?