« CBL Partial Updater | メイン | prototype.js のイベント順序 »
2005年09月16日
さらば Paged List
サイボウズ・ラボでも好きな人が多い Ajax ですが、これまでのところ、部分差換の技術として利用されているケースが多いようです。しかし、 Ajax は遅延送信の技術としても利用することができます。
こちらのサイトをごらんください注1。
なんてことはない、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