window.location

« DOM リファレンス

概要

文書の 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
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 に付加した状態で現在の文書が再読み込みされます)。

仕様

DOM Level 0。どの標準にも属しません。

Document Tags and Contributors

Contributors to this page: Drry, Potappo, ethertank, Teppeis
最終更新者: ethertank,