JavaScriptでURLを取得する方法ですが、全部を取得するだけでなく、http://
の部分やホスト(ドメイン)、?
以降のパラメータやページ内リンクで付いた#
のハッシュ値など、さまざまな取得方法をご紹介します。
現在のURLは以下で想定しています。
https://flatflag.nir87.com/dev/test.php?id=321#id
URL全体を取得する
基本構文
location.href
location
の後に取得したいプロパティを設定します。href
はURL全文を取得します。
URLを表示させるサンプル
コンソールログに現在のURLを表示させてみましょう。
1 2 |
// コンソールログにURLを表示 console.log(location.href); |
結果(コンソール)
https://flatflag.nir87.com/dev/test.php?id=321#id
https://
から最後のパラメータまで、URLが全て表示されました。
URLの一部分のみを取得
次にURLの一部分のみを取得します。
構文
ホスト名(ドメイン)
1 2 |
location.host; location.hostname; |
flatflag.nir87.com
location.host
にはポート番号も含まれます。
オリジン(プロトコルを含めたドメイン)
1 |
location.origin; |
https://flatflag.nir87.com
プロトコル
1 |
location.protocol; |
https:
ドメイン以下のパス
1 |
location.pathname; |
/dev/test.php
パラメータ
1 |
location.search; |
?id=321
ハッシュ(アンカー)
1 |
location.hash; |
#id
ポート
1 |
location.port; |
:8080
locationの中身を確認
location
のプロパティと値を一気に確認することもできます。
コンソールログにlocation
の中身を表示させてみましょう。
1 2 |
// コンソールログにlocationの中身を表示 console.log(location); |
結果(コンソールログ)
Location https://flatflag.nir87.com/dev/test.php?id=321#id
assign: function assign()
hash: “#id”
host: “flatflag.nir87.com”
hostname: “flatflag.nir87.com”
href: “https://flatflag.nir87.com/dev/test.php?id=321#id”
origin: “https://flatflag.nir87.com”
pathname: “//dev/test.php”
port: “”
protocol: “https:”
reload: function reload()
replace: function replace()
search: “?id=321”
…(略)
上記のようにhost
やpathname
などが並び、その後にURLの値が吐き出されていますね。
それらhost
やpathname
などのプロパティを、location
の後に.
(ドット)で繋げて値を取っています。
こちらのサイトさん、基礎のところから解説してくださるのでとてもわかり易いです。
意外にも、jsやphpの初心者向け解説が少ないので助かっています。今後もお願いいたします。:)
お役に立てたようで何よりです。とても励みになります。
今後ともよろしくお願いいたします。