id:os0xさん作のつい☆すたの、Twitterの発言にはてなスターを付ける機能だけをブックマークレットにしてみました。以下注意事項とか。
- プロテクトの判別をしていないのでAdd Starは計画的に。
- http://twitter.com/homeでしか動作確認していない。
- Fx 2.0.0.6、Opera 9.23、IE6で動作確認した。
ソースとJSActionsでの下書き
prototypeをいじってある奴がJSActionsで動かなかったりしたので、ブックマークレットとはちょっと違うけど大筋同じ。クロージャの引数をもっと増やせば1バイトずつ減らせるけどIEで動いたのでストップ。
javascript:(function(d,s,p,C,e,t){s=d.createElement('script');s.src='http://s.hatena.ne.jp/js/HatenaStar.js';s.charset='utf-8';d.body.appendChild(s);p=setInterval(function(){if(Ten){clearInterval(p);C=d.getElementsByClassName;e=Hatena.Star.EntryLoader;with(e){loadEntries=function(){return C('content').map(function(T){t=C('entry-title',T)[0];return {uri:C('entry-date',T)[0].href,title:t.innerHTML.strip().stripTags(),star_container:t,comment_container:t}})};new e}}},9)})(document);
(function () { with (window) { var s = document.createElement('script'); s.src = 'http://s.hatena.ne.jp/js/HatenaStar.js'; s.charset = 'utf-8'; document.body.appendChild(s); var pid = setInterval(function () { if (typeof Ten != 'undefined') { clearInterval(pid); var $c = document.getElementsByClassName; var e = Hatena.Star.EntryLoader; with (e) { loadEntries = function () { return Array.map($c('content'), function (td) { var link = $c('entry-date', td)[0].href; var meta = $c('meta', td)[0]; var title = $c('entry-title', td)[0]; return { uri: link, title: new String(title.textContent).strip(), star_container: meta, comment_container: meta }; }); }; new e; } } }, 100); }})();