Widely available すべての主要ブラウザで対応済み。安心して使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
1
12
1
4
18
3.2

Location インターフェイスは、関連付けられたオブジェクトの場所 (URL) を表します。変更が行われると、関連するオブジェクトに反映されます。 Document および Window インターフェイスにはこのような関連付けられた Location があり、それぞれ Document.location および Window.location でアクセスできます。

1
12
1
1
18
1

ancestorOrigins は Location インターフェイスの読み取り専用プロパティで、静的な DOMStringList であり、指定された Location オブジェクトに関連付けられたこの文書の閲覧コンテキストのすべての祖先のオリジンを、逆順で保持します。

20
79
148
6
25
6

Location.assign() メソッドは、指定された URL の文書をウィンドウに読み込んで表示します。移動した後、ユーザーは「戻る」ボタンを押すことによって Location.assign() を呼び出したページに戻ることができます。

1
12
1
3
18
1

hash は Location インターフェイスのプロパティで、'#' に URL のフラグメント識別子が続く文字列です。これはページ上の ID で、 URL がターゲットにしようとしているものです。

1
12
1
1
18
1

host は Location インターフェイスのプロパティで、ホスト、すなわちホスト名と、 URL のポート番号が空でなければ、 ':' およびそのポート番号の入った文字列です。

1
12
1
1
18
1

hostname は Location インターフェイスのプロパティで、URL のドメインが入った文字列です。

1
12
1
1
18
1

href は Location インターフェイスのプロパティで、stringifierです。文字列で URL 全体を表し、href を更新することができます。

1
12
1
1
18
1

origin は Location インターフェイスの読み取り専用プロパティで、指定された URL のオリジンの Unicode シリアライズが入った文字列です。

8
12
21
5.1
18
5

pathname は Location インターフェイスのプロパティで、その位置を表す URL のパスが入った文字列です。パスがない場合は空文字列になります。そうでない場合、pathname には最初の '/' に続いて URL のパス部分が入り、クエリー文字列やフラグメントは含みません。

1
12
1
1
18
1

port は Location インターフェイスのプロパティで、URL のポート番号が入った文字列です。URL に明示的にポート番号が指定されていない場合は、'' に設定されます。

1
12
1
1
18
1

protocol は Location インターフェイスのプロパティで、 URL のプロトコルスキームを、最後の ':' を含めて表す文字列です。

1
12
1
1
18
1

location.reload() メソッドは、再読み込みボタンのように現在の URL を再読み込みします。

1
12
1
1
18
1

replace() は Location インターフェイスのメソッドで、現在のリソースを指定された URL のもので置き換えます。 Location.assign メソッドとの違いは、 replace() を使用すると現在のページがセッションの History に保存されないことです。すなわち、ユーザーが[戻る]ボタンを使用して戻ることができなくなります。

1
12
1
1
18
1

toString() は Location インターフェイスのstringifierメソッドであり、URL 全体を文字列で返します。これは Location.href の読み取り専用版です。

52
12
22
1
52
1

Window.location は読み取り専用プロパティで、現在の文書の現在位置についての情報を持つ Location オブジェクトを返します。

1
12
1
1
18
1
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (4)
実装メモ
  • すべての `Document` オブジェクトではなく、`HTMLDocument` に対してのみサポートされている。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (3.2)
実装メモ
  • すべての `Document` オブジェクトではなく、`HTMLDocument` に対してのみサポートされている。
注釈 1件
実装メモ
  • Firefox 49 以前のバージョンでは、blob スキーマを使用する URL の検索結果が誤って null を返していました。
注釈 1件
制限事項
  • Firefox 53 以前では、`pathname` プロパティは URL の誤った部分を返していました。たとえば、URL が `https://z.com/x?a=true&b=false` の場合、`pathname` は "/x" ではなく "/x?a=true&b=false" を返していました。
注釈 1件
実装メモ
  • Edge 79 以前のバージョンでは、信頼済みサイトに追加されたページにクロスオリジン iframe が含まれている場合、その iframe 内から `reload()` を呼び出すと、信頼済みページが再読み込みされます(つまり、iframe ではなく親ページが再読み込みされます)。
注釈 1件
制限事項
  • Firefox 53 以前では、`search` プロパティは URL の誤った部分を返していました。たとえば、URL が `https://z.com/x?a=true&b=false` の場合、`search` は "?a=true&b=false" ではなく " " を返していました。
注釈 1件
実装メモ
  • Firefox 57 以前のバージョンでは、URL API 経由でアクセスした場合、URL 内の単一引用符がエスケープされていました。バグ 1386683 を参照してください。

基本構文

JAVASCRIPT
console.log(document.location);
// Prints a Location object to the console

実務での使いどころ

  • Location の活用

    Document.location は読み取り専用のプロパティで、この文書の URL に関する情報を持った Location オブジェクトを返します。

注意点

  • 古いブラウザでは対応していない場合がある。

実装メモ

  • 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。