Firefox には、動的に作成された iframe 内のナビゲーションが Javascript によって削除されるという厄介なバグがあり、Firefox の [戻る] ボタンを使用して戻ることができなくなります (ドロップダウンを使用して、さらに数ページ戻る必要があります)。 )。
データを検証して送信する iframe でフォームを使用しています。フォームの送信/データの検証時に、iframe 内のページが更新されます。これにより、上記のように Firefox の [戻る] ボタンが壊れます。
この問題を解決するための解決策が必要です。現在、いくつかの異なることを試しましたが、あまり成功していません。
- 各 iframe ページの更新をセッション変数 (PHP) に格納
history.go(-{session var})
し、jQuery コードで使用して戻る。ただし、これは iframe が読み込まれる前のページに戻る場合にのみ機能するようで、iframe が読み込まれるページではありません (後で、戻るボタンが壊れます)。 - iframe を削除するのではなく非表示にする - 半機能ですが、戻るボタンを複数回クリックする必要があり、「このデータを再送信しますか?」というメッセージが表示されます。メッセージ
- ユーザーが iframe を閉じたときに iframe を再読み込みします。前のiframeガビンをすべて通過する必要があるかのように、これを行う利点はありません。
任意の提案をいただければ幸いです - ただし、注意してください: iframe を使用したいのですが、本当に ajax を使用したくないので、クロスブラウザー互換のソリューションが必要です (ha!)。
興味がある場合は、この問題を再現する手順:
- Firefox で、fancybox ホームページに Google をロードする iframe の例を試してください: http://fancybox.net/home
- 何かを検索します。つまり、iframe に新しいページをロードします。
- ファンシーボックスのフレームを閉じる
- 戻るドロップダウンリストに頼らずに戻ってみてください
ちなみに、IE はこのシナリオを Chrome や Firefox よりも適切に処理します。