差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行は
このように表示します。
少し思うところがあって,長〜いページをWikiで上手に表示するにはどうすれば良いか? をここんところ考え続けている.
//title=bugtrack_listのAjax化
//parent=Ajax/Blog
//parent=Ajax,JavaScript
//mdate=2007-06-09
常識的には「ページング」ということになるのだが,Ajaxが取り沙汰されているご時世で,画面遷移によるページ切り替えというのは,何やら古くさい気もする.
そこで,Ajaxで考えてみることにした.
目に見えるブツが欲しいので,PyukiWikiのbugtrack_listプラグインで表示される一覧ページを,改造してみることにした.
目に見えるブツが欲しいので,[[PyukiWiki]]のbugtrack_listプラグインで表示される一覧ページを,改造してみることにした.
-今回改造した結果:[[れんさWikiのBugTrack>BugTrack]]
初期状態では先頭の10件だけが表示されていて,「さらに10件」ボタンを押すと下に後続の10件が追加されるというもの.
次の10件をサーバから取得するための通信は,前もって裏で非同期に行っているので,ボタンを押すと待たされることなく画面に10件増える.
裏でというのは具体的にはこんな感じ.
+10件表示したら,非同期GETで次の10件の受信を開始する.受信が完了するまで「さらに10件」ボタンはdisabledにしておく
+受信が完了したら,受信した内容を画面のhiddenに設定し,「さらに10件」ボタンをenabledに戻す
+「さらに10件」ボタンが押されたときは,hiddenの内容を一覧に追加する.そして1.の非同期GETへ
JavaScriptでの通信には,
-&link([ajax] JKL.ParseXML/ajax通信処理ライブラリ,http://www.kawa.net/works/js/jkl/parsexml.html);
を使っている.
シンプルで使いやすいです.