IEでブラウザの戻るボタンで戻った際の挙動
WEBのシステム開発をしてるものです。
現在symfonyのフレームワークを使用しWEB開発をしてるのですが
ちょっとぶつかった箇所がありますので質問させて頂きます。
ちょい複雑なので説明不足になってしまうかもしれませんがご了承ください。
ある検索機能にてセレクトボックスやラジオボタン等を配置し
項目を選択後に検索ボタンをクリックするとthickboxにて、さらに細かい検索項目が開き
thickbox内の検索ボタンを押すと検索結果画面が開くといった流れの画面を作成しています。
※thickbox内で開くページには選択した項目をgetパラメーターで渡しているのですが
その際のURLはjavascriptを使用し動的に作成しています。
ここでまでは問題なく出来たのですがここでブラウザの戻るボタンで問題が発生しました。
検索結果画面(thickbox後)でブラウザの戻るボタンを押し最初の検索項目選択画面に戻り
再度検索項目を選択→thickboxを開く→検索→検索結果画面
と手順を踏むと検索結果画面が一番最初に検索した内容で結果が表示されてしまいます。
しかしfirefoxではそのような事はおこりません。IE6,7,8すべてにおいて発生しました。
デバッグしながら一つづつ追っていったのですが
javascriptでthickboxに渡すパラメーターの形成は正常に行われているのですが
thickbox内のページのactionが読み込まれてない状態という事がわかりました。
正常パターン
・画面Aで検索項目を選択
・検索ボタンをおす
↓
・action(thickbox内ページ用)
↓
・thickbox立ち上がる
↓
・thickbox内でさらに検索項目を選択し検索ボタンをおす
↓
・action(画面B用)
↓
・画面B検索結果が表示される
といった流れになるべきだと思うのですが一度画面Bまで行った後に戻るボタンを押して画面Aに
戻った場合の挙動は
・画面Bから画面Aへ戻る(ブラウザの戻る)
↓
・画面Aで検索項目を選択
・検索ボタンをおす
↓
・thickbox立ち上がる
といった具合にactionを見てくれていません。
デバッグ方法としてthickbox用のactionを戻るボタンで戻ってきた際に
echo 'test';exit;
と入れて試しましたがスルーされてthickboxが立ち上がります。
firefoxの場合はtestと出力されて処理が止まってくれます。
正確には、actionを読んでくれていないというよりもthickboxの履歴を開いてるって感じが
しっくりくるような気がしてます…
長文、乱文になってしまい申し訳ありませんが、
どなたか解決にとっかかりになりそうな情報をお持ちの方いましたらご教授願います。
お礼
ありがとうございました。