うごメモはてなでもコメントに番号表示

いや〜、jQueryいいね。やっぱり。なれないのでうまくいかないところもありますが、jQueryの魔法、メソッドチェーンが強力。
メソッドチェーンは、jQueryの関数の大部分が戻り値として、自分自身を返すのを利用して、$(">ldiv<").css({"border":"1px solid red","font-size","20px"}).append( $(">lb<").text("hoge") ).attr("id","test");
のようにつなげて書けるやりかた。普通にDOM操作すると、簡単なのに何十行にわたるような物が結構あって面倒だけど、これなら1行ですむ。
javascriptは文法が緩やかだから、行を分けたり、インデントをはさんだりもできる。
ajaxなどもまとまっているし、まだ作っていないけど、ドラッグやリサイズができるウィンドウ、タブ、クリックでスライドできるアニメまであるので、他の作業も絶対楽!!!

で、今回は、コメント再読み込み。Ajaxで再読み込みするので高速なのが売り。
jQuery記念として、コメントに番号をつける機能を追加しました。

シアターのチャットとかで、「>>4」とかされてもわからないんですよね。それが解決できます。たぶん。勝手に作者画像の上にスペースを空けて、コメント番号を表示します。
われながら、よいスペースを見つけたものです。
それなりに正確ですが、ページ読み込みごと、1ページ目を取得する通信のわずかな間に新しいコメントが入ると番号がずれます。なので、番号の正しさは保障しません。参考までにです。

これをするにあたり、どこぞのGoogleChromeで、ネイティブwindowオブジェクトに触れないのが障害になりそうでした。
なので、全部自分で実装しました。コメントのロードって、意外とたいしたことをしていないのです。
スターの設置と、コメント画像のクリック拡大だけ。ソースが暗号化されていないので簡単でありがたい!はてなさん、thanks!

で、製作メモ。
(1)ページ番号をクリックしたときに、元のloadCommentではなく、完全に自作のもので動くようにする。これで、自分でイベントが拾い放題。
(2)元からあるイベントは消去できないので、hoge.innerHTML = hoge.innerHTMLで、イベントをすべてクリアの荒業。
(3)とくにjQueryを読み込んでからだと、すでにコメントのロードが終了している場合があるので、それを考慮する。
(4)コメント番号の取得は、1ページ目のコメント数を取得して、
「(現在のページ番号 - 2) * 10 + ページ1のコメント数 + そのページのいくつ目のコメントか」
でもとまります。(ただし、1ページ目のみ例外処理)
(5)http://ugomemo.hatena.ne.jp/js/Hatena/UgoMemo/Movie.jsに各種処理あるので一読。コメント画像の拡大は結構賢いと思った。

現在、とりあえずいつもどおりoperaでのみでのチェックですので、後でfirefoxgooglechromeで確認予定。基本、古いうごメモスクリプトは今のバージョンで終了とする予定です。

コメントの部分は、もう少し何か改良できることがないだろうか・・・
>>1とかの安価指定にも対応するとか?画像コメントが多いからいみなしかなぁ。
好きなページ数にジャンプとか、ある人のコメントをすべて抽出とかは負荷がかかりすぎて起こられる?
10件という表示数が少ないから、もう少し勝手に継ぎ足すとかも悪くないけど、結構めんどくさい。
サムネイルの作品をその場再生できるようにするとか、それぐらいか?
意見があったら誰でもどうぞ・・・