先日のアップデートで最速インターフェース研究会 :: livedoor ReaderにはてなスターをくっつけるGreasemonkeyスクリプトが動かなくなっていたので調べてみた。
一度エントリにスターを表示したページではそれ以上スターを表示しないようになっている。http://s.hatena.ne.jp/js/HatenaStar.jsの1661行目と1689行目。
1659 loadEntriesByHeader: function() { 1660 var c = Hatena.Star.EntryLoader; 1661 if (c.entries) return c.entries; 1662 var entries = []; 1663 var headers = c.getHeaders();1687 loadEntriesByConfig: function() { 1688 var c = Hatena.Star.EntryLoader; 1689 if (c.entries) return c.entries; 1690 var entries = []; 1691 if (!Hatena.Star.SiteConfig) return;http://s.hatena.ne.jp/js/HatenaStar.js
回避策をAutoPagerizeで継ぎ足しされたエントリにもはてなスターを表示するユーザースクリプト | 東京嫉妬からもらい、LDRにスターを表示するGreasemonkeyスクリプトのinit関数を以下のように変更。
function init(){ w.Hatena.Star.SiteConfig = { entryNodes: { 'div.item': { uri: 'h2.item_title a', title: 'h2.item_title', container: 'h2.item_title' } } }; w.Keybind.add('H', function(){ var entries = w.Hatena.Star.EntryLoader.entries; w.Hatena.Star.EntryLoader.entries = null; new w.Hatena.Star.EntryLoader(); w.Hatena.Star.EntryLoader.entries = Array.concat(entries, w.Hatena.Star.EntryLoader.entries); }); }
entriesをいったん退避させてマージするのはなんでかよくわかってないけどこれで動くようになった。