差分表示


少し思うところがあって,長〜いページを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);

を使っている.
シンプルで使いやすいです.



© 2023 KMIソフトウェア