livedoor readerではてなスターを使おう

もういっちょ作った。

// ==UserScript==
// @name          HatenaStar on livedoor Reader or fastladder
// @namespace     http://reader.livedoor.com/reader/
// @namespace     http://fastladder.com/reader/
// @description   Automatically load the feature of HatenaStar.
// @include       http://reader.livedoor.com/reader/*
// @include       http://fastladder.com/reader/*
// ==/UserScript==

(function(){
    var headerTagAndClassName=["h2","item_title"];
    var head = document.getElementsByTagName('head')[0];
    var s = document.createElement('script');
    s.type='text/javascript';
    s.src='http://s.hatena.ne.jp/js/HatenaStar.js'
    var w=unsafeWindow;
    var entries_count=0;
    function loadHatenaStarFeature(){
        var headings = document.evaluate("//h2",document, null,
                                         7,null);
        if(headings){
            entries_count=headings.snapshotLength-1
            w.Hatena.Star.EntryLoader();
        }
        setTimeout(function(){
            w.Hatena.Star.EntryLoader.loadAddedEntries();
        },1000);
    }
    function setEntryLoader(){
        if(w.Hatena){
            w.Hatena.Star.EntryLoader.headerTagAndClassName =
                headerTagAndClassName;
            loadHatenaStarFeature();
            w.Hatena.Star.EntryLoader.loadAddedEntries = function(node) {
                var c = w.Hatena.Star.EntryLoader;
                if (!node) node = document.body;
                var entries_org = c.entries;
                c.entries = null;
                var entries;
                entries = c.loadEntriesByHeader(node);
                c.entries = [];
                if (entries && typeof(entries.length) == 'number') {
                    for (var i = entries_count-1; i < entries.length; i++) {
                        var e = new w.Hatena.Star.Entry(entries[i]);
                        e.showButtons();
                        c.entries.push(e);
                    }
                    entries_count=entries.length;
                }
                c.getStarEntries();
                if (entries_org) {
                    c.entries.push(entries_org);
                    c.entries = w.Ten.Array.flatten(c.entries);
                }
            }

        }else{
            setTimeout(arguments.callee,500);
        }
    }
    window.addEventListener('load',setEntryLoader,false);
    head.appendChild(s);
    w.register_hook("after_printfeed",loadHatenaStarFeature);
})();

作ってから気づいたけど、既にあったんだね。
フィードが読込まれると自動でロードします。ので、ちょっと動きは違います。
そして変な動きもします。フィードを連打して読込みにいくと2重3重に表示してくれます。

追記:fastladderもいけた