この翻訳は不完全です。英語から この記事を翻訳 してください。
概要
文書の 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 のプロパティの値を含んでいます。:
- https://www.google.com:80/search?q=devmo#test
プロパティ | 説明 | 例 |
---|---|---|
hash |
# 記号に続くURL の部分。 | #test |
host |
ホスト名とポート番号。 | www.google.com:80 |
hostname |
ホスト名(ポート番号を含まない)。 | www.google.com |
href |
完全な URL。 | https://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 における、バグです。href
、search
、pathname
は、正しい、エンコードされた URL の部分を返します。 例:
- https://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 = "https://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.
関連項目
- The interface of the returned value,
Location
. - A similar information, but attached to the document,
Document.location
. - Manipulating the browser history
- hashchange