locationNN 2 IE 3 DOM なし

location オブジェクトは、各ウィンドウまたはフレームにつき 1 つあります。このオブジェクトには、そのウィンドウやフレームに現在読み込まれているドキュメントの URL に関する情報が格納されています。location オブジェクトの href プロパティに新しい URL を設定することで、ウィンドウやフレームに新しいページを読み込むようブラウザに指示します。新しいページを読み込むスクリプトは、次のようになります。

location.href = "newPage.html";
 

次のように特定のフレームのスクリプトから別のフレームにある location オブジェクトを参照して、そのフレームに新しいドキュメントを読み込むこともできます。

parent.otherFrameName.location.href = "newPage.html";
 

セキュリティ上の理由により、特定のフレームにあるスクリプトから、それとは異なるドメインや異なるサーバーから配信された別のフレームにある location オブジェクトの情報にアクセスすることはできません。ただし、これら 2 つのドキュメントの document.domain プロパティの設定が一致する場合は例外です。これは、別のフレームから外部の Web サイトに移動したときの操作を悪質なスクリプトで監視されないようにするためです。Navigator 4 以降では署名付きスクリプトを使ってこの制限を解除できますが、その場合でもスクリプトのドメイン外にある location オブジェクトの情報にアクセスするには、ユーザーの明示的な許可が必要です。

 

W3C DOM では、ウィンドウ関連の仕様策定は将来のバージョンに先送りされており、ウィンドウ関連のオブジェクトである location オブジェクトは、W3C DOM の Level 1 および Level 2 の正式な仕様には含まれていません。ただし、location オブジェクトとそのプロパティは、スクリプトにおいて既に定着した用語であり、今後も長期にわたってサポートされるものと予想されます。

 
オブジェクト参照
 
[windowRef.]location
 
オブジェクト固有のプロパティ
 
hashhosthostnamehrefpathnameportprotocolsearch
 
オブジェクト固有のメソッド
 
assign()reload()replace()
 
オブジェクト固有のイベントハンドラープロパティ

なし

hashNN 2 IE 3 DOM なし

読み書き

URL の # 記号の後に続く部分を示します。これはドキュメントにあるアンカーの位置を示します。このプロパティには、ユーザーがスクロールしてアンカー位置を表示したのではなく、実際にアンカーに移動した場合にのみデータが設定されます。このプロパティの設定値には # 記号は含めないでください。

 
 
location.hash = "section3";
 

文字列

 
既定値

なし

hostNN 2 IE 3 DOM なし

読み書き

現在のドキュメントを配信するサーバーのホスト名と、該当する場合はそのポート番号を示します。ポート番号が URL に含まれている場合、URL での記述方法と同様にホスト名とポート番号の間をコロンで区切ります。

 
 
if (location.host == "www.megacorp.com:80") {
    ...
}
 

ホスト名を示す文字列。ポート番号もある場合はホスト名の後にコロンとポート番号を追加します。

 
既定値

サーバーによって異なります。

hostnameNN 2 IE 3 DOM なし

読み書き

現在のドキュメントを配信するサーバーのホスト名 (「host.com」などのサーバー名とドメインから成るアドレス) を示します。hostname プロパティにはポート番号は含まれません。

 
 
if (location.hostname == "www.megacorp.com") {
    ...
}
 

ホスト名 (サーバー名とドメイン) を示す文字列

 
既定値

サーバーによって異なります。

hrefNN 2 IE 3 DOM なし

読み書き

ウィンドウまたはフレームに読み込まれるドキュメントの絶対 URL を示します。ウィンドウやフレームに新しいドキュメントを読み込むスクリプトを作成するには、このプロパティに URL を設定します。Internet Explorer では、代わりに window.navigate() メソッドも使用できます。

 
 
location.href = "http://www.megacorp.com";
 

絶対 URL または相対 URL を示す文字列

 
既定値

なし

pathnameNN 2 IE 3 DOM なし

読み書き

URL のパス名の部分を示します。これは、URL 情報のドメイン名の直後から最後までの部分で、ドメイン名の後のスラッシュも含みます。

 
 
location.pathname = "/images/logoHiRes.gif";
 

文字列

 
既定値

なし

portNN 2 IE 3 DOM なし

読み書き

URL のポート番号の部分を示します。これは URL 情報のドメイン名の後にあるコロンのすぐ後から最後までの部分です。port プロパティの値にはコロンは含まれません。

 
 
location.port = "80";
 

文字列 (数値を文字列として指定)

 
既定値

なし

protocolNN 2 IE 3 DOM なし

読み書き

URL のプロトコルの部分を示します。これは URL の最初のコロンまでの部分です (コロンも含めます)。"http:""file:""ftp:""mailto:" などを設定します。

 
 
if (location.protocol == "file:") {
    // statements for treating document as local file
}
 

文字列

 
既定値

なし

assign()NN 2 IE 3 DOM なし

assign("URL")

本来このメソッドのスクリプト作成者による使用は禁止されていますが、現時点では使用可能です。location.href プロパティに URL を設定するのと同じ動作をします。ここでは参考までに assign() メソッドについても説明していますが、使用は避けてください。

 
パラメータ
 
  • ウィンドウやフレームに読み込むドキュメントの絶対 URL または相対 URL を示す文字列
 
戻り値

なし

reload()NN 3 IE 4 DOM なし

reload([unconditional])

location オブジェクトに関連付けられているドキュメントのハード再ロードを行います。ハード再ロードは、フォーム要素を既定値に戻します。ソフト再ロードを行う場合は history.go(0) を使用します。reload() メソッドは、条件付きの get アクションを実行する既定値に設定されています。この方法では、ファイルがキャッシュに保存されていてキャッシュが有効になっている場合には、そこからファイルが取得されます。サーバーからの再ロードを強制的に行うには、ブール値パラメータ true を追加して、無条件の get を強制実行してください。

 
パラメータ
 
  • 省略可能なブール値。true を指定すると、ブラウザが無条件の get を実行し、ドキュメントをブラウザキャッシュから取得するのではなく強制的にサーバーから再ロードします。
 
戻り値

なし

replace()NN 3 IE 4 DOM なし

replace("URL")

参照されているウィンドウに新しいドキュメントを読み込み、ブラウザのヒストリリストにある現在のドキュメントのエントリを、新しいドキュメントのエントリで置き換えます。[戻る] ボタンで表示されないようヒストリから排除したいページを削除して、これを新しく読み込まれたドキュメントのエントリで置換できます。

 
パラメータ
 
  • ウィンドウやフレームに読み込むドキュメントの絶対 URL または相対 URL を示す文字列
 
戻り値

なし