2007/07/23

Google Readerのサイドバーをトグル

Google Readerのサイドバーは"u"キー押下でトグルできるのですが、マウスでトグルする方法がない。Google Mapsの様に左矢印をクリックでマップの表示領域を最大化、とかしたいのです。

"u"キー押下時に呼んでいるイベントを呼べばいいのかと思ったんですが、探し方がわからず。

HTML眺めていたら、トグル時にBODYタグのclassが変わるようなのです

  • サイドバー表示時
    class="mozilla loaded"
  • サイドバー非表示時
    class="mozilla loaded hide-nav"

直接class属性いじればいいのかな?っていうことで以下のコードを流してみたら思いのほか想定どおりに動いてくれました。

// 非表示->表示にするテスト // classから"hide-nav"を消す (function(){ var b=document.getElementsByTagName("body")[0]; var x=b.getAttribute("class").split(" "); x.pop(); b.setAttribute("class",x.join(" ")); })()

あとはリストの上に表示されている"All items"等に"chrome-stream-title"というIDが振られているので、onclickイベントでも追加すればいいのかな?

何で実装しようか。

しかしFirebug便利ですね。これを書いている途中に気が付いたのですが、コンソールからコード投げなくても、直接class属性値もいじれたのかorz