ページの URL を変えた場合、 新しい場所を知らせる目的のページを置くことがしばしばあります。
通常は新しい URL を記述したリンクを表記するだけですが、
METAタグの refresh 機能を用いて自動で移動するようにする場合もあります。
然し、refreshを使用すると履歴情報は残りますから、
ブラウザで「戻る」を選択してもふたたび元のページに戻る結果になります。
このような現象を防ぐためには replace メソッドを使用します。
サンプル
以下のコードは replace メソッドを利用して ページの自動的移動を行う例です。
<!-- JavaScript をサポートしてないブラウザのために refresh を使用して 5秒後に 新天地に飛ぶ --> <noscript> <meta http-equiv="refresh" content="5; URL=NewPage.htm"> </noscript> <!-- JavaScript をサポートしているならスクリプトでジャンプ --> <script language="JavaScript"><!-- ie=(navigator.appName=='Microsoft Internet Explorer'); newpage="NewPage.htm"; // 新天地の URL function moving(){ location=newpage; } // --></script> <script language="JavaScript1.1"><!-- function moving(){ // JavaScript1.1 以降では replace()、以前は location() で if(ie && parseInt(navigator.appVersion)<4) location=newpage; else location.replace(newpage); } // --></script> : <!-- JavaScriptが有効なら 3秒後に新天地に飛ぶ --> <body ... onLoad="setTimeout('moving()',3000)"> : <h2><a href="NewPage.htm">ここ</a>に引越しました</h2> <script language="JavaScript"><!-- // JavaScript使用時のメッセージ document.writeln( '<p><font color="#ff0000" size=-1>' +'といっても3秒後には自動で移動しますけどね' +'<\/font><\/p>'); // --></script><noscript> <!-- JavaScript無効時のメッセージ --> <p><font color="#ff0000" size=-1> といっても5秒後には自動で移動しますけどね </font></p> </noscript>
実際に使用する場合は赤字部分 ( 新天地の URL、移動開始までの待ち時間とメッセージ )を修正して下さい。
使用例
使用例はこちら
注意事項