ページに関するTips


・前のページに戻る

NN2OK NN3OK NN4BUG MZBUG IE3BUG IE4BUG

Web page には通常前ページに戻るためのリンクがあります。 このリンクは通常 HTML によるハイパーリンクを使用しますが、 実際にはページを戻るわけではなく、元のリンクしているページを表示するに過ぎません。

また、そのページにリンクしているページが複数あったり、 別のサイトからリンクされていても元のページに戻ることはできません。

JavaScript を使用すれば実際にリンクしてきた元のページに戻したり、 ブラウザの履歴上の元のページに戻すことができます。

固定的な URL を記述せずに前のページに戻るにはいくつかの方法が考えられます。 が、実用的な方法は back() メソッドを利用する方法でしょう。

JavaScript をサポートしていないブラウザを考えれば、 back()メソッドをハイパーリンクの onClick イベントで使用するのが楽ですが、 JavaScript1.0 の仕様では href によるリンクを制御することができないので、 多少面倒になります。

そのウィンドウ又はフレーム内の履歴を戻る場合
<script language="JavaScript" type="text/javascript"><!--
document.writeln(
  '<a href="javascript:history.back()">戻る</a>'
);
// --></script><noscript>
<a href="Title.htm">戻る</a>
</noscript>
上位の履歴を戻る場合
<script language="JavaScript" type="text/javascript"><!--
document.writeln(
  '<a href="javascript:parent.history.back()">戻る</a>'
);
// --></script><noscript>
<a href="Title.htm" target="_top">戻る</a>
</noscript>

使用例

下の「戻る」をクリックするとフレーム内の履歴を戻ります。

下の「戻る」をクリックすると上位の履歴を戻ります。


注意事項

caution
JavaScript が有効でないブラウザで戻る場合は、 noscript で示す URL が有効になります。
caution
<frame> 中で使用するとブラウザの履歴管理が乱れ、 時にはブラウザが異常終了することがあるようです。
NN4.0 IE3
<frame> 中で使用し、 history.back() メソッドで戻ったページでウィンドウ枠の拡大・縮小をすると history.back() を操作したページが表示されることがあるようです。
NN4.0
<frame> 中で frame のウィンドウに対する履歴を戻ると、 一見 back した様に見えますが管理上は戻っていないようです。 (「戻る」をやった後メニュー又はツールバーから「Forward」をして見てください。 但し、この操作をするとほぼ確実に履歴管理が乱れますから覚悟してください)
IE4 Mozilla
<frame> 中で親ウィンドウの履歴を戻る操作 「parent.history.back()」を行ってもフレーム内の履歴を戻ることしかできないようです。

Copyright(c) 1998 - 2000 ShinSoft. All rights reserved.