JavaScript講座
(メールマガジン編)

12/01日発行 ヨッシーの”ホームページを作ろう!(JavaScript編)”★Vol.21★

履歴を使ったプログラム

今回は特にプログラムという要素ではなく、覚えれば簡単に使えるんだ。
今回はダイジェストのような形で、さっと説明していくね。

 

★ ページの移動 ★

ブラウザの上には、BACKボタンやNEXTボタンなどがあるね。
同じような動作を画面上で使うための命令をやってみよう。

一つ前のページに戻る

history.back()

 

一つ先のページに進む

history.forward()

 

数字の分だけページを移動する

history.go(数字)

 

ホームに戻る

home()

これでページの移動をできるんだ。
(※基本的にブラウザの上にあるボタンと同じ。つまり、ブラウザを開いた時に表れるページの場合、とうぜん、後ろのページに戻ることはできない。)
また、ホームというのはブラウザを起動させたときに、一番はじめに表示されるページのことだよ。
(※ちなみに、はじめに表示するページ(ホーム)を変更するには、IEの場合、上から[ツール]→[インターネットオプション]で変更できます。)

じゃあ、これらを使ったプログラムを見てみよう。


--ボタンでページを移動する--

<HTML>
<HEAD>
<TITLE>ページの移動</TITLE>
</HEAD>
<BODY>
<INPUT TYPE="button" VALUE="ひとつ戻る" onClick="history.back()">
<P>
<INPUT TYPE="button" VALUE="ひとつ進む" onClick="history.forward()">
<P>
<INPUT TYPE="button" VALUE="ふたつ戻る" onClick="history.go(-2)">
<P>
<INPUT TYPE="button" VALUE="ふたつ進む" onClick="history.go(2)">
<P>
<INPUT TYPE="button" VALUE="ホームに戻る" onClick="home()">
</BODY>

≪結果≫

       


--解説--

これは大体わかるよね。
複数ページ移動する場合、
ページを進むときはhistory.go(数字)数字はそのまま書けばいいね。
ページを戻るときはhistory.go(数字)数字の部分がマイナス(−)になるんだ。
それだけを覚えておこう。


★ 関連命令 ★

じゃあ、履歴に関する命令をもう1つやっておこう。

移動後もとのページの戻れなくする

location.replace(移動先のURL)

これをつかうと、この命令で移動したURLから、移動元のページへ戻れないんだ。
実際には、リンク元が履歴に残らないので、
戻るボタンを押してもそのページには戻れなくなっているんだよ。


--ページを移動し、戻れなくする--

<HTML>
<HEAD>
<TITLE>ページの移動</TITLE>
<SCRIPT language="JavaScript">
<!--
function go_page(){
location.replace("http://village.infoweb.ne.jp/~fwig2642/yoshi/make_HP/main.htm");
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT TYPE="button" VALUE="先へ進む" onClick="go_page()">
</BODY>

≪結果≫


★ リンクを使ったJavaScript ★

いままでは、JavaScriptはボタンを使ってやっていたね。
同じようにして、リンクや普通の文字でもJavaScriptは使えるんだ。

例)
ボタン:<INPUT TYPE="button" VALUE="押してね" onClick="命令">
文字:<DIV onClick="命令">押してね</DIV>
リンク:<A HREF="URL" onClick="命令">押してね</A>

このように、リンクボタンや普通の文字のときも同じようにできるんだ。
けれど、リンクボタンにはもうひとつの方法があって、

<A HREF="JavaScript:命令">押してね</A>

という形でJavaScriptを実行することもできるんだよ。
じゃあ、最後に今回やった命令をこの方法を使ってやってみよう。


--ボタンでページを移動するU--

<HTML>
<HEAD>
<TITLE>ページの移動</TITLE>
</HEAD>
<BODY>
<A HREF="JavaScript:history.back()">ひとつ戻る</A>
<P>
<A HREF="JavaScript:history.forward()">ひとつ進む</A>
<P>
<A HREF="JavaScript:history.go(-2)">ふたつ戻る</A>
<P>
<A HREF="JavaScript:history.go(2)">ふたつ進む</A>
<P>
<A HREF="JavaScript:home()">ふたつ進む</A>
</BODY>

≪結果≫

ひとつ戻る  ひとつ進む  ふたつ戻る  ふたつ進む  ふたつ進む



back.gif (1116 バイト) next.gif (705 バイト) top.gif (583 バイト)