2009-07-04 11 views
5

ウェブアプリケーションでは、IFRAMEを使用して、ユーザーが親ページの項目を選択できるようにします。firefox iframe history

問題は、FIREFOX(3.5)がIFRAMEを開くたびに同じ(親)ページのコピーを履歴に追加することです。

ウェブアプリケーションは、親ページからそのページを呼び出したページに移動するためにhistory.back()を使用しています。

"back"ページを呼び出し側からcalleeへのパラメータとして渡すことで修正できます。

まだBACKボタンが壊れています(ユーザーは戻るボタンを押したまま同じページに残ります)。

作成されたもう1つの問題は、一部のページを履歴から削除したいということです。ユーザーがに戻るINSERTページに移動しないようにします。

これは、簡単に同じINSERTページの多くのエントリでFirefoxに仕上がっINSERTページでlocation.replaceで行われますが、不可能とされています。問題は、あなたのエントリが重複しているということであれば

答えて

1

history.back(-2) 

もしくは-3、または行く-4代わりhistory.back() or history.back(-1)の必要に応じて。

しかし、その後、私はあなただったら、私は、アイフレームに基づいたソリューションを捨てるために試してみたとのiframeと親文書との間の通信がmagnet-

バグになりやすいことから、すべてでそれらを必要としない何かを構築
3

あなたの問題が今日と同じであるかどうかわかりませんが...

ページにiframeがあり、iframe srcが変更されると、ブラウザ(私の場合はFF 4.0)はそれをaとみなします戻るボタンを押すと、このiframe内を1歩前に戻ります。

しかし、このiframeをページが読み込まれた後に動的にjavascriptで作成すると、動作が異なります。 iframeの連続的な変更srcはナビゲーションとしてカウントされず、ブラウザは履歴にページを置かず、結果として戻るボタンの動作が期待されます。

+1

これが2011年に正しいかどうかわかりませんが、これを正しく読んでいれば、今日は正しくありません。履歴イベントが変更されるのと同時にiframeを置換または作成する必要があります。 (同じファンクションチェーン内にあります)したがって、バック/フォワードイベントチェーン伝播メカニズムは、この新しく作成されたiframeをFirefoxに追加せず、すべて正常です。 – Agamemnus