livedoorReaderの「新着のみ表示」ボタンとAutopagerizeのon/offをキーボードで切り替える
livedoorReaderを使っていると、たまにフィードの取得に失敗することがある。
そのときは、rキーを押すかF5を押してフィードの再取得をすることになるが、新着のみ表示にしていると、目的のフィードはすでに読んだことになってしまっているので、表示されない。
そこで、いちいちマウスでボタンを押して切り替えるのだけど、ほとんどの操作がキーボードでできるだけに、余計に気になってしまう。昨日のGmailと同じ。
で、今日、同じようにフィードを再取得するハメになってしまったので、キーボードのみで切り替えられるようにした。
KeyConfigを使って切り替えを行う。
Keyconfigから新しいキーを追加し、以下のように書く。
var doc = window.getBrowser().contentDocument; var elements = doc.getElementById('show_all_button'); var event = doc.createEvent('MouseEvents'); event.initEvent('click',true,true); elements.dispatchEvent(event);
後はこれを動作させるキーを自分の好きなものに設定すれば、キーボードで切り替えができるようになる。
フィードの取得に失敗した場合以外にも、フィードの検索をするときも表示されていないフィードは検索できないので、切り替えが必要になる。
AutoPagerizeの切り替え
同様に、というかこっちの方は前から利用していたのだが、AutoPagerizeもキーボードでon/offの切り替えができる。
var doc = window.getBrowser().contentDocument; var elements = doc.evaluate('id("autopagerize_help")/div/a[contains(@class,"autopagerize_link")]',doc,null,7,null); if(elements.snapshotLength){ var event = doc.createEvent('MouseEvents'); event.initEvent('click',true,true); elements.snapshotItem(0).dispatchEvent(event); }
ちなみにtoggleAutopagerizeという名前を付け、Shift+Pを切り替えキーとしている。
livedoorReaderの方は、Alt+N