userChrome.js で go30(何)
2007-02-20
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(何)」へコメントをつける
- この記事の永続的 URI ならびに トラックバック ping URI
- http://diary.noasobi.net/2007/02/diary_070220a.html