1

iframe を含むページがいくつかあります。iframe 内にリンク/ボタンを追加して、ブラウザーを履歴の 1 ページに戻したいと考えています。しかし、iframe自体ではなく、PARENTを元に戻したいです。

私はもともとこれを持っていました。これにより、iframeページが元に戻ります(存在する場合):

<a href="javascript:history.back()">&laquo; Go back</a>

試してみましwindow.parent.history.back()window.parent.document.history.back()が、どちらも機能しません。親から iframe にアクセスするクロスドメインの問題はなく、その逆もありません。

4

2 に答える 2

4

私はこの質問に答えようと、いじくり回しました - 少なくとも IE8 では。

iframe 内のナビゲーションは、親の履歴に影響を与えるようです。親ページとリンクされた子ページ内に、alert を使用して history.length の値を表示するコードを追加して、これをテストしました。iframe 内の新しいウィンドウに移動すると、親ページと子ページで history.length が増加します。

あなたが望むようにバック動作を制御するために私が考えることができる唯一の方法は、history.go(XXX) を使用することです。ここで、XXX はハードコードされた番号であるか、iframe をロードしてからページのロード数を追跡することによって導出されます。

私の個人的な提案は、可能であれば iframe の代替案を検討することです。このアプローチには、コードの匂いが少しあります。:)

于 2010-06-07T21:39:58.833 に答える
0

これを使用できます:

    <a href="javascript:self.history.back()">back</a>

    or:

    <a href="javascript:self.history.go(-1)">back</a>

それは私のための仕事です !

;)

于 2012-01-03T17:27:24.780 に答える