[jQuery]CakePHPでjquery.infinitescroll.jsを使用した場合にスクロールを正常に終わらせるにはARKの技術メモ2013年2月1日金曜日[jQuery]CakePHPでjquery.infinitescroll.jsを使用した場合にスクロールを正常に終わらせるにはhttp://www.infinite-scroll.com/上記で配布されているjquery.infinitescroll.jsであるが、スクロールが終わる条件は、私の知る限る二つある。1.オプションのnextSelectorで指定されたリンクで指定された、次ページへのリクエストに対し404エラーが返される。→こちらの場合、オプションのfinishedMsgで指定された文言が最後に表示される。2.オプションのmaxPageで最終ページを指定する。→こちらの場合、finishedMsgはなぜか表示されない。2の方法は、総ページ数をmaxPageに入れてしまえばいいので楽チンなのだが、やはり終わった時のメッセージは欲しい。当方、サーバサイドはCakePHPを使用している。CakePHPはデフォルトでは、最終ページを超えた数字が指定されても、最終ページの内容を出力し404エラーは出力しない。最終ページのnextSelectorで指定されたaタグに存在しないURLを指定したのだが、どうもうまくいかない。相変わらず最終ページの内容が出力される。思いfirebugで観察していたところ、どうやら、ベースになるURLは最初のページを表示したタイミングで作られ、incrementした数字をお尻に付加しているようだった。2ページ目以降のnextSelectorのaタグは見られていない。CakePHPで最終ページを超えた数字を指定された場合は404となるように細工することにした。その方法は以下で紹介している。Webで食う技術を学ぶメディア。人気の投稿[JavaScript]処理の途中で強制終了させるには。Bootstrap]typeaheadでの日本語入力問題への対策[CakePHP]TwitterのOAuth認証とAuthコンポーネントを連携させる[eclipse]Subversionでのマージの方法[jQuery]infinitescrollが正しくpage番号をincrementしてくれない件への対処subversiveで管理したくないディレクトリとファイルを除外する。