朝顔日記
userChrome.js で go30(何)
Firefox 1.5 や 2.0 には、移動メニューというのがあって、最近開いたページの履歴を10件表示するという機能があります。で、10件では私には少ないので、30件に増やす拡張機能というのを以前作りましたが、Firefox 3.0 を目指す最近のナイトリーでは、履歴管理が Places という sqlite ベースのものに変わり、そこらあたりのインターフェースも変わってしまったために動かなくなっていました。
ところが、しばらく前に Bug 370135 – Restore branch model history under the trunk History menu. というのが入ったので、また同じようなインターフェースが帰ってきました。といっても違う仕組みで動いているので、go30 が動くはずもありません。ですが、変更点を見ていたら、案外簡単そうに変更できそうな気がしたので、browser.xul を直接編集してみたところ、うまく動作しました。ナイトリーを入れ替えるたびに browser.xul を書き換えるのは難儀なので、ここはひとつスクリプトにしておけばよかろうと、userChrome.js 用のスクリプトを書いてみました。
が、動かない。DOM Inspector で覗いてみると、ちゃんと書き換わっているんですが、何故か動きません。おりしも userChrome.js スレにどっかの Ria 氏が、同じことをしたがっているようで、おねだりしておられました。ほぼ私の書いたのと同じコードが書き込まれましたが、やはり動きません。ふーむ、困った。ということで、IRC で Piro さんに相談してみたところ、place属性の変更は監視されてなくて、初期化時とplaceプロパティへの代入時にだけplace属性の値が再評価されるようです
とのことで、サクっと代替コードを書いてくれました。ありがとうございます。> Piro さん
(function(){
var gopopup = document.getElementById("goPopup");
gopopup.place = gopopup.place.replace(/maxResults=10/, 'maxResults=30')
})();
go30.uc.js と名づけて保存しておきました。trunk で go30 したい方はどうぞ。って、かなり需要が低そうですが。:p)
「userChrome.js で go30(何)」へコメントをつける
この記事のリンク元
- http://kuruman.org/diary/2007/03/07/hello-firefox
- http://b.hatena.ne.jp/entry/4040026
- http://b.hatena.ne.jp/hxd9/
- http://firefox.ring.hatena.ne.jp/t/javascript?page=3
- http://internet.watch.impress.co.jp/cda/news/2006/10/18/13656.html
- http://b.hatena.ne.jp/IceNine/userchrome.js/
- http://makimo.to/cgi-bin/dat2html/dat2html.cgi?pc11/2/software/1174572796/
- http://pc11.2ch.net/test/read.cgi/software/1174572796/l50
- http://b.hatena.ne.jp/amino_acid9/firefox3/
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2007/02/diary_070220a.html

