SBMCommentsViewerにコメント再取得とコメントを閉じるリンクを追加
読みたくてページを開いたものの、読む時間が無くてそのまま数時間ページを開いたままにしておく、ということが結構ある。そういうときに、はてブのコメントを再取得するためだけにページ全体をリロードしていたのだが、回線速度が遅いこともあり、かなり面倒くささを感じていたので、それを改善してみた。
SBM Comments Viewerのファイルを開き(ステータスバーのグリーズモンキーアイコンを右クリックし、SBM Comments Viewerの文字を右クリック)、ファイルのほぼ最後あたりに、+マークがついている行を追加する
if (key == BIND_KEY){ comment_area.toggle(); + } else if (key == 'CA-b') { + comment_area.hide(); + SBMCommentsViewer(); }
key == ''の部分は、自分の好きなショートカットキーに設定する。
C -- control、S -- shift、A -- alt。組み合わせるときはCS-bなど。
これで、ショートカットキーでコメントのみを再読込できる。
さらに、コメントを開いた状態でダブルクリックすると、コメントが閉じるが、 テキストリンク (Text Link)を使っていると、コメント欄に記入されたURLが勝手に開かれたりすることがあって、これも面倒くさいので、コメントを閉じるリンクを追加した。
587行目あたり // no commenter var a_com = document.createElement('a'); a_com.setAttribute('href', "javascript:void(0)"); a_com.setAttribute('style', anchor_css + ((this.show_nocomment) ? option_text_css : '')); a_com.innerHTML = "No commenter"; if(this.show_nocomment){ a_com.addEventListener("click", function(){option.setShowNoComment(false)}, false); }else{ a_com.addEventListener("click", function(){option.setShowNoComment(true)}, false); } li_comment_option.appendChild(a_com); + // close button(自分で追加したもの) + var a_close = document.createElement('a'); + a_close.setAttribute('href', "javascript:void(0)"); + a_close.setAttribute('style', "position:absolute; right:0px;"); + a_close.innerHTML = "Close"; + a_close.addEventListener("click", function(){comment_area.hide()}, false); + li_comment_option.appendChild(a_close);
これでファイルを保存し、リロードすると、以下のように表示される。
コメント再取得をマウスで行いたいなら、// close button の前に以下のように追加
+ // reload button + var a_reload = document.createElement('a'); + a_reload.setAttribute('href', "javascript:void(0)"); + a_reload.setAttribute('style', "position:absolute; right:70px;"); + a_reload.innerHTML = "Reload"; + a_reload.addEventListener("click", function(){ + comment_area.hide(); + SBMCommentsViewer(); + }, false); + li_comment_option.appendChild(a_reload);
positionなどは適当な数字で。