2011-03-10 5 views
2

Firefoxではiframeのwindow.locationが変更された場合、これはトップレベルウィンドウの履歴に取り込まれます。Firefoxの戻るボタンとiframeの比較

ユーザーがブラウザの戻るボタンをクリックすると、iframeの内容は、ブラウザが前のHTMLページに戻るのではなく変更されます。

これは一部のアーキテクチャでは完全に間違っています。

Firefox(3.x)がこれを行なわないようにするJavaScriptはありますか?

(ない理由/他の技術に対して、アイフレームを使用しなければならない/どのように、ちょうどこの質問に固執してください。)

+0

同じ問題の別のSOの質問ですが、より多くの情報と背景情報があります:http://stackoverflow.com/q/2245883/980945 –

答えて

-2

これをやってから、Firefoxのを防ぐために、JavaScriptを持つ方法はありますか?

アドレスバーabout:configに入力し、オプション "browser.cache.memory.enable"を探し、値をfalseに変更します。次に、オプション "browser.cache.disk.enable"を使用して、ファイルシステムのキャッシュも無効にします。その後、このbehaivorは、これまでの理論はなくなったはずです。

P .:私は個人的にそれを試みたことはありません。

+0

それでは、歴史オブジェクトはブラウザの制限付きオブジェクト。 – reporter

0

私は同じ問題を持っていると私はこれを読んだとき、その周りに可能な方法を研究していました。あなたが問題を解決したかどうかは分かりませんが、アンロード時にIFrameのウィンドウでunloadイベントを使用して親ウィンドウに通知すると思います。

のiframeが「有効」の方法によって閉鎖されている場合は、変数は親リロード/ IFRAMEのSRCを変更する変数が設定されている場合はIFRAMEを

をアンロードすることが期待されていると言って、親に設定されています言い換えれば、アンロードが予想されます

iframeで予期しないアンロードが発生した場合は、それが戻るボタンであると見なして親ページを更新します(例えば、親の履歴内で別のステップを戻すなど)。

親ページがアンロードされ、iframeもアンロードされる場合は、醜い場合があります。親ページの変更の速さによっては、親のiframeアンロードハンドラが起動するかどうか競合状態になる場合があります。

関連する問題