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もいけた