« CBL Partial Updater | メイン | prototype.js のイベント順序 »

2005年09月16日

さらば Paged List

 サイボウズ・ラボでも好きな人が多い Ajax ですが、これまでのところ、部分差換の技術として利用されているケースが多いようです。しかし、 Ajax は遅延送信の技術としても利用することができます。

 こちらのサイトをごらんください注1

ajaxscrollbar.gif


 なんてことはない、ML のアーカイブ表示です (先頭の方の日本語サブジェクトが化けているのはご愛嬌) 。ただ、従来の ML アーカイブと何が違うのかというと、メールの一覧を複数のページに分割せずに、表示している点です。

 実は、このリスト、 Ajax で送信を遅延しています。50 件単位で、表示中の部分だけを転送するようになっているので、10000 件データがある場合でも、遅くなりません。

 Gmail でも何故か未採用のテクニックですが、今後一般的になってくると思います。

注1: w3ml に手を入れたものでデモを作成しています。パッチを見つけるまで Ruby 1.8 で動作しなくて、どうなることかと思いました。

投稿者 kazuho : 2005年09月16日 15:12 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

トラックバック

このエントリーのトラックバックURL:
http://labs.cybozu.co.jp/cgi-bin/mt-admin/mt-tbp.cgi/125

このリストは、次のエントリーを参照しています: さらば Paged List:

» [web] さらば Paged List from daily gimite
Ajaxつながりで。リストの内容の転送を、スクロールして表示されるまで遅延するもの。って書くと[http://maps.google.co.jp/:title... [続きを読む]

トラックバック時刻: 2005年09月17日 19:36

コメント

いい感じですね。
ただ、リストの部分をツリー表示にしてない時にメールアドレスが省略されとらんですよ。(^^;
メールアドレスを隠すんなら、全ての箇所で隠さないと意味がないです。

投稿者 道化師 : 2005年09月16日 16:53

修正しました。ご指摘ありがとうございます。
アドレス隠すパッチあてて完璧のはずが、改造したところに穴がありました (汗

投稿者 kazuho : 2005年09月16日 17:06

面白そうなのですが、Firefoxだとエラーになりました。
エラー: document.getElementById(this._buildSpacerID(true)) has no properties
ソースファイル: http://kazlab.ath.cx/~kazuho/w3ml/ajaxscrollbar.js
行: 61

投稿者 nozom : 2005年09月18日 13:49

手元の Firefox/1.0.6 日本語版 (Windows XP) では動作していますので、何か一時的な原因かもしれません。
再現性があるようであれば、お使いの Firefox のバージョンと OS を教えていただけますか?

投稿者 kazuho : 2005年09月19日 22:39

遅くなってすみません。新しいプロファイルで試してみたらこのエラーは出なくなりました。どうやらこちらの設定の問題のようです。原因に関しては、拡張を無効にしたりプロキシを止めてみたり色々試したのですが、残念ながら特定できませんでした。

投稿者 nozom : 2005年10月04日 04:22

お調べいただきありがとうございます。Firefox の機能拡張は、私も大好きで使うのですが、コンフリクトがちょっと怖くもありますね。

投稿者 kazuho : 2005年10月06日 13:23