はてなブックマークのエントリーページで id コ−ルコメントを明示化する Greasemonkey
id:ekken さんのブログのエントリー、僕が「あったら良いな」と思うはてなブックマークの機能のまとめ にこんなことが書かれていた。
idコールしたコメントは、コールした側からは分かりやすいけど、コールされた側からは分かりにくい。idコールをメール通知設定にしているユーザーはともかくも、そうではないユーザーや当事者以外には分かりにくいので、ブックマークコメント一覧に「コールされたことが分かりやすくなる何か」があると良いなぁ。
うん、確かにこれはあったら便利そう。
と、いうわけで
早速、はてなブックマーク新バージョンで動くグリモンを作ってみた!
// ==UserScript== // @name Hatena Bookmark Reply // @namespace http://www.ohaco.jp // @include http://b.hatena.ne.jp/entry/* // @version 1.0 // ==/UserScript== (function() { var bookmarked_user = document.getElementById('bookmarked_user'); var allSpan = bookmarked_user.getElementsByTagName('span'); for (i = 0; i < allSpan.length; i++ ) { if (allSpan[i].className == 'comment') { if(allSpan[i].innerHTML.match(/id:[0-9a-zA-Z_\-]+/)) { var replyId = allSpan[i].innerHTML.match(/id:[0-9a-zA-Z_\-]+/)[0].substr(3); var callId = allSpan[i].parentNode.getElementsByTagName('a')[1].innerHTML; if(document.getElementById('bookmark-user-' + replyId)) { var replyLi = document.getElementById('bookmark-user-' + replyId); if(!document.getElementById( 'hatena_bookmark_reply_' + replyId)) { var replyChild = document.createElement('div'); replyChild.setAttribute('id', 'hatena_bookmark_reply_' + replyId); replyChild.innerHTML = ' Reply : '; replyChild.style.display = 'inline'; replyLi.appendChild(replyChild); } var replyAnchor = document.createElement('a'); replyAnchor.setAttribute('href', location.href.split('#')[0] + '#bookmark-user-' + callId); var callIcon = document.createElement('img'); callIcon.setAttribute('src', allSpan[i].parentNode.getElementsByTagName('img')[0].src); callIcon.setAttribute('title', callId); replyAnchor.appendChild(callIcon); document.getElementById( 'hatena_bookmark_reply_' + replyId).appendChild(replyAnchor); } } } } })();
インストールはここから
http://userscripts.org/scripts/show/36666
ホントは昨日の夜に公開しようと思ってたんだけど、作ってる途中で はてブベータが 503 になって泣きそうになった。あと、使っていて変な所とかがあったら教えてください><
追記
新はてブが正式リリースされたので修正しました! URL が変わっただけですが。