質問: javascriptでページネーションのあるページをつくりました。ページネーションは成功しております。 参考にさせていただいたページネーションのソースはこちらです。 http://ponk.jp/jquery/basic/pagination さて、そのページネーションのあるページからリンクで次のページに行き、ブラウザバックで戻ると、chrome以外のブラウザ(IE,firefox,safari,opera)はそのクリック直前のページ(2ページ目のリンクをクリックしてその先のページからブラウザバックで戻ったら2ページ目、3ページ目のリンクをクリックしてその先のページからブラウザバック戻ったら3ページ目・・・)に戻るのですが、chromeだけ1ページ目に戻ってしまいます。 これがchrome独特の仕様なのか、わたしの書き方が悪いのかを知りたく質問させていただきました。 またもしchromeでも有効なページネーションソースをご存知でしたらご紹介いただきたいです。 javascriptではダメとなると、getでページ番号を飛ばしていくしかないのかと途方に暮れている次第です。 よろしくお願いいたします。
回答: JavaScript で作った要素はページを遷移した時点で無くなるという chrome の仕様は標準的な挙動だと思います。他のブラウザはキャッシュ内に残っているページを再表示しているために「残っている」のではないかと思われます。 通常状態を保存したい場合は cookie や localStorage でローカルに保存しておき、表示の際に再現するか、pushState を使ってパスを書き換えるか、書かれているように Get で遷移してしまうかどれかになると思います。 【[Cookie・WebStorage]ブラウザにデータを保存する - Qiita】 【【HTML5】HISTORY API「pushState/popState」を使って画面遷移しなくてもURLを変化させて、戻るボタンの挙動をカスタマイズする | unitopi - ユニトピ -】 【16行 で pushState popState - Qiita】 【Manipulating the browser history - Web developer guide | MDN】