選択中のテキストにはてなスターを付けるブックマークレット
引用スターつける時 Opera だと文字を反転させてからボタンを押すまでの間 慎重な操作が要求されるので、右クリックメニュー(Hotclick Popup Menu)に「スターをつける」がほしい。
http://twitter.com/ashizuka/statuses/1097512342
こんな感じかな。
javascript:(function(d){function findStar(node){return node.getElementsByClassName('hatena-star-add-button');}function giveStar(img){var e=d.createEvent('MouseEvents');e.initMouseEvent('click',true,true,window,1,10,50,10,50,0,0,0,0,1,img);img.dispatchEvent(e)};var a=getSelection();var s=findStar(d);if(s.length==0){return;}else if(s.length==1||a==''){giveStar(s[0]);}else{var b=a.getRangeAt(0).startContainer;var l=0;while(l==0){b=b.parentNode;s=findStar(b);l=s.length;}giveStar(s[0]);}})(document)
ブックマークレットとしては試したけど、右クリックメニューとしては試してない。
右クリックメニューなら
Go to page, "ブックマークレット、またはニックネーム"
というのを [Hotclick Popup Menu] などに追加。
はてなダイアリーとかはてなブックマークではちゃんと選択テキストと共にスターが付いた。
Opera でしか試してないけど、Firefox でも動くような気がする。
一応選択テキストの親ノードを巡って、一番最初に発見したスターを押してるので、誤爆は少ないと思う。
選択テキストが無い場合は、ドキュメント中で最初に登場するはてなスターに星を付けることにしてある。
改善要望があれば受け付けます。
↑付けてみたけど、はてなスターって200文字までしか引用できないんだね。