JSONPを使ったんだけどスクリプトのロードまでの遅延をどうしようか考えた結果innerHTMLで書き換える方法にしました。なにかうまい方法があったら教えてください。
はてスタのAPIのバグだと思うんだけどスターの数が0のURLだと404が返ってくる、のでエラーが出ます。例えば、http://s.hatena.ne.jp/blog.json/http://www.example.com/とか。修正お願いします!>id:hatenastar
あと、ScriptLoaderがLDRの内部で使われていないからだと思うけど、DEBUGがtrueだったのでfalseにした。
// ==UserScript== // @name LDR with Hatena::Star count // @namespace http://shinten.info/ // @include http://reader.livedoor.com/reader/ // ==/UserScript== // // based on http://la.ma.la/blog/diary_200610182325.htm // (function () { var w = (typeof unsafeWindow == 'undefined') ? window : unsafeWindow; var api = 'http://s.hatena.ne.jp/blog.json/'; with (w) { ScriptLoader.DEBUG = false; channel_widgets.add('hs_counter', function(feed){ var loader = new ScriptLoader(api + feed.channel.link); loader.get({}, function (obj) { if ($('hs-' + feed.subscribe_id)) $('hs-' + feed.subscribe_id).innerHTML = obj.star_count; }); return [ '<img src="http://s.hatena.ne.jp/images/star.gif">', '<span style="color:#f4b128;font-weight:bold;" id="hs-', feed.subscribe_id, '">0</span>' ].join(''); }); } })();