• 締切済み

フレームでの「戻る」について

1.「ページA」から「ページB」へ遷移します。 2.「ページB」は「B1」と「B2」というフレームで構成されています。 3.「B1」のリンクをクリックすると「B1」内で内容が切り替わります。 4.ある特定のリンクの場合は「B2」に内容が表示されます。 上記のような遷移のあとで、「B1」のみ「戻る」の操作をしたいのですが、JavaScriptやブラウザの戻るボタンでは、「B2」や「B1」を遷移した順にしか戻る事ができません。 History.back()といった方法ではなく、遷移元へのリンクを直接書いたりといったことも考えたのですが、値を保持する必要も出てくるため、できれば単純な戻るの操作を行いたいです。 「B1」に記述したJavaScriptは以下の通りです。 「<A href="JavaScript:self.history.back();" target="_self"></A>」 「B1」のみ、つまり特定のフレーム内でのみ戻るの操作をするにはどのようにすればよろしいでしょうか。

みんなの回答

回答No.2

No.1です。 すみません、history.backでの遷移でしたね。 無理じゃないかな・・・。 普通の遷移じゃだめなのでしょうか?

ask1
質問者

補足

B1内にリストが表示されていまして、それをスタイルシートとJavaScriptを使用してエクスプローラのツリーのように展開したりといったことをしているので、できることなら遷移したあと前の画面に戻った場合は展開した状態で戻したかったという理由です。 どのリストから遷移してきたかを保持して、戻るの処理でその値を参照して展開しなおすという方法もできますが、単純なhistory.back()での処理ができればそれに越したことはないなと思った次第です。

回答No.1

Aタグのtargetを、遷移したいフレームの名前にすればいいですよ。 <frame name="menu" src="aa.hml"> という風にフレームを設定して、 <a href="bb.html" target="menu">リンク</a>

ask1
質問者

お礼

回答ありがとうございます。 残念ながら解決しませんでした。 「B1>B1>B2>B2」の順で遷移したあと、お教えいただいたように、 「<A href="JavaScript:self.history.back();" target="B1"></A>」 といったようにB1をターゲットとしてhistory.back()を呼んでみたのですが、「B2>B2>B1>B1」といったように遷移してしまいました。 引き続きご回答お待ちしております。

関連するQ&A