フォント変更とかテーブル幅変更とかのBookmarklet

しばらくOperaを使っていますが,軽くていいですね.試しに,yahoo.co.jpのトップをタブで10枚開いてみるときの消費メモリは,Firefoxの場合は45M弱ですが,Operaの場合は24M弱と半分近くなってます.しかも,Firefoxメモリリークがけっこうあるので,長いこと使っているとどんどんメモリを喰われていって,さすがの今時のハードでも重さを感じるようになります*1.もっとも,Firefoxの驚異的な拡張性は捨て難いのですが,Operaでもそこそこのレベルにはカスタマイズできるので,この軽さなら,許せるかな,というところです.

そんなわけで,しばらくOperaで行ってみようと思います.

Operaでの使い勝手を改善するべく,Bookmarkletを用意してみました.(Opera向けに作っていたんですが,Firefoxでも問題なく動作しました.)*2

  • フォントを変更する
    • 普段は,sans-serif系のフォントで読んでいるのですが,ときどきserif系のフォントにしたくなります.
javascript:function r(o) { if(o.style) {o.style.fontFamily = 'Georgia';}var cn=o.childNodes,i; for (i=0;i<cn.length;++i) r(cn[i]); } r(document.body);
  • 固定幅を可変にする
    • ブログのデザインは大抵固定幅となっています.最近のニュースサイトもそうです.一行が長いと読むのが大変だから,とかいう,なんともおせっかいな理由でそうなっているそうです.そんなおせっかいは無用なときもあるので,tableとdivを全て可変幅にしてしまいます.あぁ,すっきり.
    • ちなみに,これはフォントサイズを大きくするとレイアウトが激しく崩れだすサイトなんかにも有効です.もっともOperaは,フォントサイズを大きくするのではなく,表示を拡大する,ということができるので,むしろFirefoxで有効なBookmarkletな気がしてきました.
javascript:function f(o){var it = document.getElementsByTagName(o);for(var i=0;i<it.length;++i){it[i].style.width='auto';}}f('div');f('table');

これが,

こうなります.

*1:Firefox1.5でメモリリーク問題は多少改善されるらしいですが.

*2:はてなダイアリーではブックマークレットのリンクが作れないんでしょうか?知らなかった...