JavaScript入門 | ブラウザオブジェクトモデル | Locationオブジェクト

Locationオブジェクト

locationオブジェクトは、現在ブラウザに表示されているHTML文書のアドレスを取得したり、ブラウザに新しい文書を読み込ませたりするときに使用できる。

このオブジェクトは、Windowオブジェクトのlocationプロパティと、Documentオブジェクトのlocationプロパティの両方に結び付いている。locationオブジェクトのプロパティとメソッドを利用すると、現在の文書のURLアドレスをさまざまに解釈して処理できる。

現在の文書のURLアドレス

locationオブジェクトのhrefプロパティは、現在の文書の完全なURLアドレスを文字列として返す。

document.write("現在の文書のアドレスは " + location.href + " です。");

現在の文書のホスト名

locationオブジェクトのhostnameプロパティは、現在の文書のインターネットホスト名を返す。

document.write("現在の文書のホスト名は " + location.hostname + " です。");

hosthostnameporthashなどのlocationオブジェクトの主なプロパティは、URLアドレスのさまざまな特性を保存している。このようなプロパティはLinkオブジェクトからも提供される。

現在の文書のファイルパス名

locationオブジェクトのpathnameプロパティは、現在の文書のファイルパス名を返す。

document.write("現在の文書のファイルパス名は " + location.pathname + " です。");

ホスト名とファイルパス名を合わせてURL(Uniform Resource Locator)と呼ぶ。このURLは、ブラウザがWebサーバーにコンテンツを要求するとき、そのコンテンツがどこにあるかを知らせるための規約である。

現在のウィンドウに文書を読み込む

locationオブジェクトのassign()メソッドは、指定されたURLアドレスに存在する文書をブラウザウィンドウに読み込む。一方、replace()メソッドは、新しい文書を読み込む前に現在の文書をブラウザの履歴から削除する点でassign()メソッドと異なる。locationオブジェクトのreload()メソッドは、ブラウザウィンドウに現在の文書を再読み込みする。

function openDocument() {
    location.assign("/index.php");
}
function openDocumentWithReplace() {
    location.replace("/index.php");
}

現在の文書をブラウザの履歴から削除するということは、ブラウザの戻るボタンを押しても前のページへ戻れないという意味である。