• ベストアンサー

DOMで追加した要素が「前に戻る」で戻ってしまう

domで何か要素を追加したとします。 それでそのページにどこかのページに移動したあと、「前に戻る」でページを戻ると、domで追加した分が消えています。これは対策できないのでしょうか? よろしければ回答宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

「前に戻る」とは、ブラウザの履歴を戻ることですか? もしそうであれば正常な動作なので、ひとまずバグではないですよ。そういう仕様です。 すでにお分かりかと思いますが、javascriptでdomを追加したとしても、サーバーにあるHTMLが書き換わるわけではないです。あくまで、各ユーザーがダウンロードしたHTMLデータを操作しているに過ぎません。したがって、履歴を戻ったりすると、DOMを追加する前の正常なHTMLが表示されます。 そう考えると、DOMの追加を維持するためには、何らかの形でjavascriptの操作結果をどこかに保存する必要があることがわかりますね。考えられるアプローチは、 1.サーバーに保存する 2.ブラウザに保存する(cookieなど) 3.本当にHTMLを書き換えてしまう などでしょうか。 1と3は、サーバーの操作が必要になるので、phpなどサーバーサイドを操作できることが前提です。2は、javascriptだけでできますが、質問者さんのjavascriptの理解が、誰かが書いたライブラリなどでなんとかしようと考えるレベルであれば、ちょっと難しいかもしれません。いろいろ方法はありますが、ひとまずcookieなどで検索してみてはいかがでしょうか。

関連するQ&A