
メールマガジン「初心者のためのホームページ作り」でお伝えした内容を、「復習」の意味で掲載しています。テキストのみのマガジンと違って、実際のサンプルや画像を交えて解説していますので、理解が深まると思います。
なお文中、疑問点や分からない点がありましたら、ご遠慮なく当方まで メールにてご質問ください。
<第93号> 今週のおさらい
毎週金曜日配信 What's New 2004年5月14日
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
■ JavaScript講座 第17回 --- location、historyオブジェクト
JavaScript講座 --- locationオブジェクトと historyオブジェクトwindowオブジェクトの下位階層に位置する locationオブジェクトと、historyオブジェクトについて解説します。locationオブジェクトlocationオブジェクトは、現在表示中のドキュメントに関する情報を扱います。locationオブジェクトであらかじめ定義されているプロパティとメソッド、及びその機能は以下のとおりです。hashプロパティ<a name="……"> 〜 </a> という形式で示されるアンカーを扱います。 hashプロパティでは、埋め込まれたアンカーを参照したり設定することができます。hashプロパティを使った簡単な例文です。このページの埋め込みアンカーを探して表示します。
function linkCheck() {
for(i = 0; i < document.links.length; i++) {
if(document.links[i].hash == "") {
dummy = i;
} else {
alert(document.links[i].hash);
}
}
}
hostプロパティ
document.write("現在のホストは", location.host);
hostnameプロパティhostnameプロパティは、現在本門柱のホスト名を参照します。その参照結果は hostプロパティと同様、ドメイン名を返します。
document.write("現在のホスト名は", location.hostname);
hrefプロパティhrefプロパティは、<a href="……"> 〜 </a> で指定されているリンク先 (URI) を参照、あるいは設定することができます。<input type="button" value="Yahoo!" onclick="location.href='http://www.yahoo.co.jp/'">
Yahoo Japan! に移動します。portプロパティ
document.write("ポート番号は",location.port);
protocolプロパティprotocol (プロトコル) とは、通信手順をあらわす仕様を示します。このプロパティでは現在訪問中のプロトコルを参照します。
document.write("現在のプロトコルは", location.protocol, "です");
searchプロパティ<a href="……"> 〜 </a> で設定されたリンク先、または現在のページの CGIなどに渡されるサーチ部分 (?以降の文字列) を参照、または設定します。location.search = '?sendmail.cgi'
reloadメソッドreloadメソッドは、現在のページを「再読み込み」させるために用います。テキストや画像などを利用して「ライブ中継」するとき、ある一定時間ごとに再読み込みして利用されます。location.reload();
replaceメソッド
<input type="button" value="Home"
onclick="location.replace('http://www.scollabo.com/banban/')">
historyオブジェクトhistoryオブジェクトのプロパティとメソッドです。lengthプロパティ
document.write("現在の履歴数は", history.length);
backメソッド<a href="javascript:history.back()">1つ前に戻る</a>
fowardメソッド<a href="javascript:history.foward()">1つ進む</a>
goメソッドback()メソッドと同じ働きをします。なお、履歴がなければ何もしません。<a href="javascript:history.go(-2)">2つ前に戻る</a>
locationオブジェクトは埋め込まれているリンクの参照や設定、あるいは通信環境などを参照します。また historyオブジェクトはブラウザの履歴を参照します。JavaScriptに対応していない環境も考えて、多用するのは考え物です。historyオブジェクトでは、閲覧者が何らかの検索エンジンを使って訪問したとき、このメソッドを使ってリンクさせるのは賢いやり方ではありません。その点を踏まえて設計に十分配慮してください。