google reader full feed changer を改造

This script gets contents of reading item on Google Reader. You must set up SITE_INFO in source code.

google reader full feed changer

愛用している Google Reader で全文を取ってきてくれるグリモン。
Google Reader を開いてたら妙に CPU が上がるので、Google Reader が何か悪さしてんだろうなぁと思って今日に至ったんだけど、気になって調べてみたら

if (AUTO_FETCH) {
    var interval = window.setInterval(
        function() {
            var focusedLink = FullFeed.getFocusedLink();
            if (focusedLink != FullFeed.link) {
                FullFeed.getCurrentEntry();
            }
        },
        500
    );
}

ってあった。今まで、フィードを選んだ時に自動的に取りに行ってるものだとばっかり思ってたら 500 ミリ秒毎にカレントのフィードが SITE_INFO に登録されてないかを見て、登録されてたら取りに行く動きだった・・・。そりゃあ、負荷上がるでしょう。
なので、この処理をコメントアウトしてキーリスナの登録処理を変更してみたよ。

document.addEventListener(
    'keydown',
    function(event) {
        var key = String.fromCharCode(event.keyCode).toLowerCase();
        if (key == 'z') {
            FullFeed.getCurrentEntry();
        }
        else if(key == ' ' || key == 'j') {
            window.setTimeout(
                function() {
                    var focusedLink = FullFeed.getFocusedLink();
                    if (focusedLink != FullFeed.link) {
                        FullFeed.getCurrentEntry();
                    }
                },
                10
            );
        }
    },
    false
);

space か j を押した時にカレントのフィードを取りに行く。ただ、マウスを使っている場合は取ってきてくれないね・・・。僕はキーボードオンリーだからいいんだけど。