DOM:window.location
出典: MDC
目次 |
[編集] 概要
文書の URL についての情報を含み、また、URL を変更するためのメソッドを提供をする、 Location オブジェクト を返します。別の URL を読み込ませるために、このプロパティに URL を代入することもできます。
[編集] 構文
var locationObj = 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 |
ポート番号 |
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 の部分を返します。
例:
- 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 に付加した状態で現在の文書が再読み込みされます)。
[編集] 仕様
DOM Level 0。どの標準にも属しません。