web-dev-qa-db-ja.com

現在のURLをJavaScriptで入手しますか?

私が欲しいのはウェブサイトのURLを入手することだけです。リンクから取得したURLではありません。ページの読み込み時には、現在のWebサイトの完全なURLを取得し、それを変数として設定する必要があります。

2730
dougoftheabaci

つかいます:

window.location.href 

コメントで述べたように、以下の行は機能しますが、Firefoxにはバグがあります。

document.URL;

DOMString型のURL、読み取り専用を参照してください。

3386
VolkerK

URL情報へのアクセス

JavaScriptには、ブラウザのアドレスバーに表示されている現在のURLを取得および変更するためのさまざまな方法があります。これらのメソッドはすべて、LocationオブジェクトのプロパティであるWindowオブジェクトを使用します。次のように現在のURLを持つ新しいLocationオブジェクトを作成できます。

var currentLocation = window.location;

基本的なURLの構造

<protocol>//<hostname>:<port>/<pathname><search><hash>
  • protocol: インターネット上のリソースにアクセスするために使用されるプロトコル名を指定します。 (HTTP(SSLなし)またはHTTPS(SSLあり))

  • hostname: / Host nameは、リソースを所有するホストを指定します。たとえば、www.stackoverflow.comです。サーバーはホストの名前を使用してサービスを提供します。

  • port: インターネットまたは他のネットワークメッセージがサーバーに到着したときに転送される特定のプロセスを認識するために使用されるポート番号。

  • pathname: Webクライアントがアクセスしたいホスト内の特定のリソースについての情報を提供します。たとえば、/index.htmlです。

  • query: / query query文字列はパスコンポーネントの後に続き、リソースが何らかの目的で使用できる情報の文字列を提供します(たとえば、検索のパラメータとして、または処理するデータとして)。

  • hash: URLのアンカー部分。ハッシュ記号(#)を含みます。

これらのLocationオブジェクトのプロパティを使えば、これらすべてのURLコンポーネントにアクセスでき、またそれらが設定または返すことができるものにアクセスできます。

  • href - URL全体
  • protocol - URLのプロトコル
  • Host - URLのホスト名とポート
  • hostname - URLのホスト名
  • port - サーバーがURLに使用するポート番号
  • パス名 - URLのパス名
  • 検索 - URLのクエリ部分
  • ハッシュ - URLのアンカー部分

私はあなたがあなたの答えを得たことを願っています..

593
Nikhil Agrawal

現在のフレームに関連する locationオブジェクト への読み書きアクセスにはwindow.locationを使用してください。アドレスを読み取り専用の文字列として取得するだけの場合は、document.URLを使用できます。これには、window.location.hrefと同じ値を含める必要があります。

313
Christoph

現在のページのURLを取得します。

window.location.href
254
Zanoni

パスを取得するには、次のものを使用できます。

console.log('document.location', document.location.href);
console.log('location.pathname',  window.location.pathname); // Returns path only
console.log('location.href', window.location.href); // Returns full URL
36
Sangeet Shah

開発者ツール を開き、 console に次のように入力し、 Enter を押します。

window.location

例:以下は現在のページの結果のスクリーンショットです。

enter image description here

ここから必要なものを入手してください。 :)

32
tmh

window.location.hrefを使ってください。

上記のように、document.URLを更新するとき、window.location は更新されません _ mdn _ を参照してください。

27
Dorian

現在のページの 完全なURL を取得するのは、純粋なJavaScriptを使用するのが簡単です。たとえば、このページで次のコードを試してください。

window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"

Window.location.hrefプロパティは現在のページのURLを返します。

document.getElementById("root").innerHTML = "The full URL of this page is:<br>" + window.location.href;
<!DOCTYPE html>
<html>

<body>
  <h2>JavaScript</h2>
  <h3>The window.location.href</h3>
  <p id="root"></p>
</body>

</html>

同様にこれらを言及することは悪くないです:

また、相対パスが必要な場合は、単にwindow.location.pathnameを使用してください。

そしてホスト名を取得したい場合は、window.location.hostnameを使用できます。

また、プロトコルを別に取得する必要がある場合は、単にwindow.location.protocolを実行してください。

また、あなたのページがhashタグを持っているなら、あなたはそれを以下のようにすることができます:window.location.hash

だからwindow.locatation.hrefはオールインワンで処理します...基本的には

window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
    //true

既にウィンドウスコープ内にある場合は、windowを使用する必要もありません。

だから、その場合は、あなたが使用することができます:

location.protocol

location.hostname

location.pathname

location.hash

location.href

Get the current URL with JavaScript

24
Alireza
  • 完全なURLを取得するにはwindow.location.hrefを使用してください。
  • ホストを離れるURLを取得するにはwindow.location.pathnameを使用してください。
19
kishore

現在のURLの場所をハッシュタグで取得する を使って:

JavaScript:

 // Using href
 var URL = window.location.href;

 // Using path
 var URL = window.location.pathname;

jQuery

$(location).attr('href');
15
Bhaskar Bhatt
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

上記のコードは誰かを助けることもできます

10
Rohan Patil

クイックリファレンスの結果を追加

window.location;

 Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
 ancestorOrigins: DOMStringList,
 Origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ, …}

document.location

  Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript", 
ancestorOrigins: DOMStringList,
 Origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ
, …}

window.location.pathname

"/questions/1034621/get-the-current-url-with-javascript"

window.location.href

"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript"

location.hostname

"stackoverflow.com"
8
Hitesh Sahu

クエリ文字列を含む完全なURLの場合:

document.location.toString().toLowerCase();

ホストURLの場合:

window.location
7

現在位置オブジェクトを取得する方法はwindow.locationです。

これをdocument.locationと比較してください。これはもともと現在のURLを文字列として返していました。混乱を避けるために、document.locationdocument.URLに置き換えられました。

そして、最近のブラウザはすべてdocument.locationwindow.locationにマッピングしています。

実際には、ブラウザ間の安全のために、window.locationではなくdocument.locationを使うべきです。

4
Josip Ivic

JstlではpageContext.request.contextPathを使って現在のURLパスにアクセスできます。 Ajax呼び出しをしたい場合は、次のURLを使用してください。

url = "${pageContext.request.contextPath}" + "/controller/path"

例:http://stackoverflow.com/posts/36577223ページの場合、これはhttp://stackoverflow.com/controller/pathを与えます。

4
   location.Origin+location.pathname+location.search+location.hash;
0
زياد

id を持つ特定のリンクを参照している場合は、このコードが役に立ちます。

$(".disapprove").click(function(){
                      var id = $(this).attr("id");

                      $.ajax({
                          url: "<?php echo base_url('index.php/sample/page/"+id+"')?>",
                          type: "post",
                          success:function()
                          {
                            alert("The Request has been Disapproved");
                            window.location.replace("http://localhost/sample/page/"+id+"");
                          }
                      });
                });

私はここでajaxを使ってIDを送信し、 window.location.replace を使ってページをリダイレクトしています。述べたように属性id=""を追加するだけです。

0
curiosity

現在のURLをJavaScriptで取得する:

  • window.location.toString();

  • window.location.href

0
Hasib Kamal

現在のページへのフルリンクはlocation.hrefから取得できます。現在のコントローラへのリンクを取得するには、次のコマンドを使用します。

location.href.substring(0, location.href.lastIndexOf('/'));
0
Khaled Harby