MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

この翻訳は不完全です。英語から この記事を翻訳 してください。

概要

文書の URL についての情報を含み、また、URL を変更するためのメソッドを提供をする、 Location オブジェクト を返します。別の URL を読み込ませるために、このプロパティに URL を代入することもできます。

構文

varlocationObj = window.location;
window.location =newLocation;
  • locationObjは、 現在の URL の情報とそれを変更するためのメソッドを提供する、Location 型のオブジェクトです。 プロパティとメソッドは、以下で説明されています。
  • newLocationは、 Location オブジェクト、または、文字列です。訪問させたい URL を指定します。

Location オブジェクト

このセクションでは、Location オブジェクトのプロパティとメソッドを説明しています。

文字列としての使用

Location オブジェクトは、現在の URL を返す toString メソッドを持っています。window.location へ文字列を代入することもできます。これは、ほとんどのケースで、window.location が、文字列であるかのように動作することを意味します。このオブジェクトに対して String のメソッドを呼び出す必要があるとき、toString を明示的に toString を呼び出す必要があります。そのような例:

alert(window.location.toString().charAt(17))

プロパティ

以下のプロパティの全ては文字列です。現在の URL についての情報を取得するために、それらを読み込んだり、別の URL を訪問させるために、それらを設定することができます。

"例" の列は、次の URL のプロパティの値を含んでいます。:

  • http://www.google.com:80/search?q=devmo#test
プロパティ 説明
hash # 記号に続くURL の部分。 #test
host ホスト名とポート番号。 www.google.com:80
hostname ホスト名(ポート番号を含まない)。 www.google.com
href 完全な URL。 http://www.google.com:80/search?q=devmo#test
pathname パス(ホストからの相対)。 /search
port URL のポート番号。 80
protocol URL のプロトコル http:
search ? 記号に続く URL の部分。? 記号も含みます。 ?q=devmo

URL の hash の部分が、エンコードされた文字(Core_JavaScript_1.5_Reference:Global_Functions:encodeURIComponent を参照)を含む場合、hash は、デコードされた URL の部分を返します。これは、Firefox における、バグです。hrefsearchpathname は、正しい、エンコードされた URL の部分を返します。 例:

  • http://www.google.com/search?q=Fire%20fox#Fire%20fox

結果:

  • hash=#Fire fox
  • search=?q=Fire%20fox

メソッド

メソッド 説明
assign(url) 指定された URL の文書を読み込みます。
reload(forceget) 現在の URL から文書を再読み込みします。forceget は、真偽値を取り、true の場合は、常にサーバーからページを再読み込みします。false、もしくは、指定されなかった場合、ブラウザは、自身のキャッシュからページを再読み込みする可能性があります。
replace(url) 指定された URL に現在の文書を置き換えます。 assign() メソッドとの違いは、replace() を用いた後、現在のページは、セッションの履歴には保持されないことです。つまり、ユーザは、置き換え前のページに戻るために、戻るボタンを使うことができません。
toString() Returns the string representation of the Location オブジェクト URL を表す文字列を返します。詳細は、JavaScript リファレンス を参照してください。

location オブジェクトのプロパティが変更されるときはいつでも、文書は、window.location.assign() が変更された URL を引数にして呼び出されたときのように、URL を読み込みます。

現在の文書を与えられた URL で置き換えます。:

function goMoz() {
   window.location = "http://www.mozilla.org";
}

// html で: <button onclick="goMoz();">Mozilla</button>


現在の URL のプロパティを警告ダイアログで表示します。:

 function showLoc()
 {
   var x = window.location;
   var t = ['Property - Typeof - Value',
            'window.location - ' + (typeof x) + ' - ' + x ];
   for (var prop in x){
     t.push(prop + ' - ' + (typeof x[prop]) + ' - ' +  (x[prop] || 'n/a'));
   }
   alert(t.join('\n'));
 }

// html で: <button onclick="showLoc();">location プロパティを示します</button>


search プロパティを変更することによって、サーバーにデータの文字列を送ります。:

function sendData(dat)
{
  window.location.search = dat;
}

// html で: <button onclick="sendData('Some data');">データ送信</button>

現在の URL に "?Some%20data" を追加したものが、サーバーに送られます(サーバーによって何も動作が引き起こされない場合、変更された search 文字列を URL に付加した状態で現在の文書が再読み込みされます)。

仕様

仕様 状態 コメント
WHATWG HTML Living Standard
Window.location の定義
現行の標準 No change from HTML5.
HTML5
Window.location の定義
勧告 Initial definition.

ブラウザー互換性

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート (有) (有) (有) (有) (有)
window.location.origin 30.0.1599.101 (possibly earlier) 21.0 (21.0) 11[1] ? 7 (possibly earlier, see webkit bug 46558)
機能 Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
基本サポート (有) (有) (有) (有) (有)
window.location.origin 30.0.1599.101 (possibly earlier) 21.0 (21.0) ? ? 7 (possibly earlier, see webkit bug 46558)

[1] In old versions of Internet Explorer 11 on Windows 10 window.location.origin is undefined due to a bug, see https://connect.microsoft.com/IE/feedback/details/1763802/location-origin-is-undefined-in-ie-11-on-windows-10-but-works-on-windows-7.

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: momdo, teoli, tk1024, khalid32, ethertank, teppeis, drry, Potappo
 最終更新者: momdo,