Firefox/Google Chrome/Safari/Operaで動作するみたい*1
ユーザサイドスクリプト(Greasemonkey他):Star Counterのインストール
ですが、ブックマークレットとしても動作するようにしてみました。
これでマルチブラウザ対応&フレームのページとかでもスターが付けられる、かも。
いろいろ付け足したのでGreasemonkeyとしての動作がおかしくなっている可能性も…その場合はバージョンダウン(ver.0.01c)して下さい。
'add':スターを付ける(Twitterには投稿しない)
javascript:(function(){var%20mode='add',opt={totwitter:0,tell:1},w=window,d=document,s,f=function(){return w.HS_UserExtension&&w.HS_UserExtension.StarControl},c=function(){if(!f()){setTimeout(c,100);return}w.HS_UserExtension.StarControl(mode,opt)};if(f()){c()}else{s=d.createElement('script');s.src='http://furyu-tei.sakura.ne.jp/script/star_counter.user.js?ver='+(new Date).getTime();d.body.appendChild(s);c()}})();
'add':スターを付ける(Twitterにも投稿する:★のオススメでも設定して下さい)
javascript:(function(){var%20mode='add',opt={totwitter:1,tell:1},w=window,d=document,s,f=function(){return w.HS_UserExtension&&w.HS_UserExtension.StarControl},c=function(){if(!f()){setTimeout(c,100);return}w.HS_UserExtension.StarControl(mode,opt)};if(f()){c()}else{s=d.createElement('script');s.src='http://furyu-tei.sakura.ne.jp/script/star_counter.user.js?ver='+(new Date).getTime();d.body.appendChild(s);c()}})(); 1
'delete':スターを削除
javascript:(function(){var%20mode='delete',opt={tell:1},w=window,d=document,s,f=function(){return w.HS_UserExtension&&w.HS_UserExtension.StarControl},c=function(){if(!f()){setTimeout(c,100);return}w.HS_UserExtension.StarControl(mode,opt)};if(f()){c()}else{s=d.createElement('script');s.src='http://furyu-tei.sakura.ne.jp/script/star_counter.user.js?ver='+(new Date).getTime();d.body.appendChild(s);c()}})();
'show':スターの確認ページを開く
javascript:(function(){var%20mode='show',opt={},w=window,d=document,s,f=function(){return w.HS_UserExtension&&w.HS_UserExtension.StarControl},c=function(){if(!f()){setTimeout(c,100);return}w.HS_UserExtension.StarControl(mode,opt)};if(f()){c()}else{s=d.createElement('script');s.src='http://furyu-tei.sakura.ne.jp/script/star_counter.user.js?ver='+(new Date).getTime();d.body.appendChild(s);c()}})();
'count':スター数をプロンプトで表示
javascript:(function(){var%20mode='count',opt={},w=window,d=document,s,f=function(){return w.HS_UserExtension&&w.HS_UserExtension.StarControl},c=function(){if(!f()){setTimeout(c,100);return}w.HS_UserExtension.StarControl(mode,opt)};if(f()){c()}else{s=d.createElement('script');s.src='http://furyu-tei.sakura.ne.jp/script/star_counter.user.js?ver='+(new Date).getTime();d.body.appendChild(s);c()}})();
プロンプト表示する代わり、引数のoptをopt={callback:function(counter_infos,flag_error){...}}のようにすると、counter_infosに各種カウント情報(総数・色別)が入ってくるので任意に加工することもできます。
'info':スターの詳細な情報をプロンプトで表示
javascript:(function(){var%20mode='info',opt={},w=window,d=document,s,f=function(){return w.HS_UserExtension&&w.HS_UserExtension.StarControl},c=function(){if(!f()){setTimeout(c,100);return}w.HS_UserExtension.StarControl(mode,opt)};if(f()){c()}else{s=d.createElement('script');s.src='http://furyu-tei.sakura.ne.jp/script/star_counter.user.js?ver='+(new Date).getTime();d.body.appendChild(s);c()}})();
プロンプト表示する代わり、引数のoptをopt={callback:function(star_infos,flag_error){...}}のようにすると、star_infosに詳細なスターの情報(http://s.hatena.ne.jp/entry.jsonの戻り値)がstar_infosに入ってくるので任意に加工することもできます。
*1:IE7とかでも動くことは動きますが、アイコン表示がおかしくなります(position:fixedに対応していないため)。Operaもちょっと変かも…CSSの書き方が変なのかな?