少し思うところがあって,長〜いページをWikiで上手に表示するにはどうすれば良いか? をここんところ考え続けている.

常識的には「ページング」ということになるのだが,Ajaxが取り沙汰されているご時世で,画面遷移によるページ切り替えというのは,何やら古くさい気もする.

そこで,Ajaxで考えてみることにした.

目に見えるブツが欲しいので,PyukiWikiのbugtrack_listプラグインで表示される一覧ページを,改造してみることにした.

初期状態では先頭の10件だけが表示されていて,「さらに10件」ボタンを押すと下に後続の10件が追加されるというもの. 次の10件をサーバから取得するための通信は,前もって裏で非同期に行っているので,ボタンを押すと待たされることなく画面に10件増える.

裏でというのは具体的にはこんな感じ.

  1. 10件表示したら,非同期GETで次の10件の受信を開始する.受信が完了するまで「さらに10件」ボタンはdisabledにしておく
  2. 受信が完了したら,受信した内容を画面のhiddenに設定し,「さらに10件」ボタンをenabledに戻す
  3. 「さらに10件」ボタンが押されたときは,hiddenの内容を一覧に追加する.そして1.の非同期GETへ

JavaScriptでの通信には,

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

kamolandをフォローしましょう


© 2021 KMIソフトウェア