フレーム内を history.back で戻りたい

[上に] [前に] [次に]
NumLock [E-Mail] 2000/05/15(月) 21:10:27
初めまして。かなり困っています。
メニュー無しのウィンドウを表示させ、
フレーム内に戻る・進むボタンをつけて表示させるようなページを作っています。
そのとき、以下の様に進むとうまく前のページに戻れません。
  1)ページ1を表示 [index.html]
  2)フレームで区切ったページに移動 [index2.html(top.html、main.html)]
  3)フレーム内 main.html を移動 [index2.html(top.html、test.html)]
ここで top.html にある戻るボタンを押します。
すると2)に戻るのではなく1)まで戻ってしまいます。
top.html に記述した内容は次の通りです。
  <a href="javascript:history.back()" target="mainFrame"><イメージタグ></a>
  (target="mainFrame" は main.html のフレーム名です)
Win では IE でも Netscape でも問題ないのですが、
MacOS8.6 Netscape 4.7 の環境の場合だとうまくいきません。
どなたかよい解決策を知っていらっしゃる方いましたら
お教えください。よろしくお願いいたします。

Maja [E-Mail] 2000/05/15(月) 21:20:44
はじめましてMajaと申します。
ほかの質問をしようと思って立ち寄りました。
あっているかわかりませんがhistoryはwindowオブジェクトのプロパティーだったと思うので...
"javascript:parent.フレームの名前.history.back()"でだめでしょうか。
だめだったらごめんなさい。

自信ないのにでしゃばった真似をしてすみません。

toshi [HomePage] 2000/05/15(月) 21:21:17
<a href="javascript:window.parent.mainFrame.history.back()">
でどうでしょうか?

toshi [HomePage] 2000/05/15(月) 21:22:03
すいません。だぶっちゃいました。

NumLock 2000/05/15(月) 21:28:09
お二方ともありがとうございます。
parent.mainFrame.history.back() は試してだめでした。
window.parent.mainFrame.history.back()はまだでしたので
明日試してみます。(MacOSの環境は他人のパソなため)

素早いレスポンスありがとうございました。

ばびん 2000/05/16(火) 00:01:23
Netscape4は、フレーム毎のhistoryを持っているので、
フレームがからむ時に history.back()は問題が多いです。
「戻る」ボタンと同じ動作をさせるなら window.back()です。
この場合は parent.mainFrame.back()で大丈夫のはず。
ただし、window.back()は、IEではエラーが出るので、
ブラウザ分岐しておくんなされ。
ちなみに、あたくしもMacOS8.6+Netscape4.7

NumLock 2000/05/16(火) 11:44:45
[[解決]]
貴重なご意見ありがとうございます。
window.parent.mainFrame.history.back() と
window.back() でうまくいっています。
parent.mainFrame.back() はうまく行きませんでしたが
他の記述(多分ブラウザ分岐?)で失敗しているのかも・・・。

これからいろんなブラウザで確認しますがほぼ問題ないようです。
本当にありがとうございました!

[上に] [前に] [次に]