CGIの中を動き回っても、来たところへ帰る裏技
<A HREF="JavaScript:history.back();">戻る</A>
では、一つ前に戻れますが、自分のCGIを動き回っても、
ブラウザの「戻る」と同じ動きしかしません。
それを一気に来たところへ戻ります。
# 自分自身のURL
$cgifile='・・・・';
# 帰るところがないときのURL
$myurl='・・・・';
# フォーム内で戻る場所を引き継ぐように、戻るべきURLを指定する
<input type=hidden name="referer" value="$backurl">
# 戻るべきURLが指定されているときは、それを指定
if ($in{'referer'}) { $backurl=$in{'referer'};}
# リファラーが自分自身だったら、デフォルトを使用
elsif (index($ENV{'HTTP_REFERER'}, $cgifile)>0) { $backurl=$myurl;}
# いずれでもなければ、リファラーを使用
else {$backurl=$ENV{'HTTP_REFERER'};}
# 戻るためのリンク
print "[ <a href=\"$backurl\">戻る</a> ]";
フレームの中のリンクから飛んできたときに、ブラウザによっては妙なことに。
(WindowsのIEだとだいじょぶだったんでしたっけ?)
自分がフレーム使わなくても他からのリンクでは影響受けちゃうのが。。。。
フレーム内からのリンクのリファラがフレームだったりトップフレームのページだったり一定しないかも。javascriptでフレームを考慮して頑張ると常にOKなバージョンが作れると思います。ただしブラウザのバージョン別のjavascriptのエラーを出さないためには結構大変な騒ぎに。