Получить текущий URL с помощью JavaScript?

Все, что я хочу, это получить URL сайта. Не тот URL, который взят из ссылки. При загрузке страницы мне нужно иметь возможность получить полный, текущий URL-адрес веб-сайта и установить его как переменную для использования, как мне угодно.

 blong24 июн. 2014 г., 18:15
Возможный дубликат:Get protocol,domain and port from URL
 Nilesh Botre20 авг. 2015 г., 15:34

Ответы на вопрос(20)

Use window.location.href to get the complete URL. Use window.location.pathname to get URL leaving the host.
 29 июн. 2015 г., 09:53
window.location.pathname не включает запрос и хеш-фрагмент

window.location для чтения и записи доступа кместоположение объекта связанный с текущим кадром. Если вы просто хотите получить адрес в виде строки только для чтения, вы можете использоватьdocument.URL, который должен содержать то же значение, что иwindow.location.href.

 12 мар. 2010 г., 10:06
смотрите такжеstackoverflow.com/questions/2430936/…

window.location.href.

Как указано выше,document.URL doesn't update при обновленииwindow.location, УвидетьMDN.

Способ получить текущее местоположение объектаwindow.location.

Сравните это сdocument.location, который первоначально только возвращал текущий URL в виде строки. Вероятно, чтобы избежать путаницы,document.location был заменен наdocument.URL.

И, все современные браузеры картуdocument.location вwindow.location.

На самом деле, для кросс-браузерной безопасности, вы должны использоватьwindow.location скорее, чемdocument.location.

Adding result for quick reference

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"

To get the path, you can use:

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

var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

 09 сент. 2016 г., 09:03
Вы не можете
 29 мая 2015 г., 18:01
Вы должны многословно использовать window.href. Этот код работает только в контексте, где это окно ===, однако это может не всегда иметь место, особенно если кто-то вставил это решение.
 11 июн. 2015 г., 19:47
Это не "некоторые" серверы, которые чувствительны к регистру. Это МОСТ серверы. Поэтому я согласен с AnthonyVO: изменение регистра URL - очень плохая идея.
 16 мая 2015 г., 01:33
Вы применили .toLowerCase () к URL, который фактически меняет его. Некоторые серверы чувствительны к регистру (Linux и т. Д.)

открытоDeveloper Toolsвведите в полеconsole и нажмитеEnter.

window.location

Пример: ниже приведен скриншот результата на текущей странице.

enter image description here

Хватай то, что тебе нужно отсюда. :)

pageContext.request.contextPath, Если вы хотите сделать Ajax-вызов, используйте следующий URL.

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

Пример: для страницыhttp://stackoverflow.com/posts/36577223 это дастhttp://stackoverflow.com/controller/path.

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

Для хоста URL:

window.location
 16 мая 2015 г., 01:32
Вы применили .toLowerCase () к URL, который фактически меняет его. Некоторые серверы чувствительны к регистру (Linux и т. Д.)
 23 апр. 2018 г., 09:05
Спасибо AnthonyVO за указание на это. Мы можем использовать только document.location.toString (), чтобы получить полный URL. toLowerCase () должен был сравниваться как indexOf в вашем скрипте.
 09 сент. 2016 г., 09:06
Как уже говорилось, вы не можете уменьшить URL-адрес, будучи уверенным, что не сломаете его !!! Если URLserver.com/path/to/Script.php?option=A1B2C3Если файловая система чувствительна к регистру (Linux / Unix), не обязательно, что Script.php и script.php одинаковы. И даже если не чувствительно к регистру (Windows, некоторые Mac OS), «option = A1B2C3» - это не то же самое, что «option = a1b2c3» или даже «Option = A1B2C3». Только сервер нечувствителен к регистру: www.server.com или www.SeRvEr.cOm одинаковы.

Получает URL текущей страницы:

window.location.href
 23 июн. 2009 г., 23:42
 19 сент. 2014 г., 18:19
document является корнем дерева документа, определенного спецификацией.window обычно эквивалентно, но это может быть не при каких-то странных обстоятельствах.
 23 июн. 2009 г., 21:32
Обратите внимание, что это местоположение окна, а не документа.
 23 июн. 2009 г., 21:34
Это то же самое. Полный текущий URL ссылается на путь к документу (внешний адрес).
 23 июн. 2009 г., 21:47
Это стандартизировано как document.url? (Я имею в виду что-то вроде документа w3c)
Решение Вопроса

Использование:

window.location.href 

Как отмечено в комментариях, строка ниже работает, но она содержит ошибки для Firefox.

document.URL;

УвидетьURL типа DOMString, только для чтения.

 26 нояб. 2012 г., 12:59
Также вы можете получить хост и четкое расположение:window.location.host а такжеwindow.location.href.toString().split(window.location.host)[1]
 11 июл. 2014 г., 14:31
& Quot; window.location.href & Quot; для победы
 07 июл. 2012 г., 18:26
В Firefox 12document.URL свойство не обновляется послеwindow.location на якорь (#), в то время какwindow.location.href делает. Я собрал демо-версию здесь:jsfiddle.net/PxgKy Я не тестировал другие версии Firefox. Нет проблем с использованиемdocument.URL были найдены в Chrome 20 и IE9.
 05 дек. 2013 г., 01:02
-1: если у вас есть рамка, изображение или форма сname="URL" тогда это свойство будет затенено наdocument объект и ваш код сломается. В таком случае,document.URL вместо этого будет ссылаться на узел DOM. Лучше использовать свойства глобального объекта, как вwindow.location.href.
 29 авг. 2013 г., 14:06
и чтоdocument.baseURI о потом. В основном есть 3 способа получить URLdocument.baseURI, document.URL& amp;location.

получить текущее местоположение URL с помощью хэш-тега используя:

JavaScript:

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

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

jQuery:

$(location).attr('href');

Getting the current URL with JavaScript :

window.location.toString();

window.location.href

URL Info Access

JavaScript предоставляет вам множество способов для извлечения и изменения текущего URL, который отображается в адресной строке браузера. Все эти методы используютLocation объект, который является собственностьюWindow объект. Вы можете создать новыйLocation объект, который имеет текущий URL следующим образом:

var currentLocation = window.location;

Basic URL Structure

<protocol>//<hostname>:<port>/<pathname><search><hash>

protocol: Specifies the protocol name be used to access the resource on the Internet. (HTTP (without SSL) or HTTPS (with SSL))

hostname: Host name specifies the host that owns the resource. For example, www.stackoverflow.com. A server provides services using the name of the host.

port: A port number used to recognize a specific process to which an Internet or other network message is to be forwarded when it arrives at a server.

pathname: The path gives info about the specific resource within the host that the Web client wants to access. For example, /index.html.

query: A query string follows the path component, and provides a string of information that the resource can utilize for some purpose (for example, as parameters for a search or as data to be processed).

hash: The anchor portion of a URL, includes the hash sign (#).

С этимиLocation Свойства объекта, вы можете получить доступ ко всем этим компонентам URL и что они могут устанавливать или возвращать:

href - the entire URL protocol - the protocol of the URL host - the hostname and port of the URL hostname - the hostname of the URL port - the port number the server uses for the URL pathname - the path name of the URL search - the query portion of the URL hash - the anchor portion of the URL

Я надеюсь, что вы получили свой ответ ..

 05 июн. 2017 г., 16:55
Имейте в виду ie9pathname не имеет косой черты, так что это может бытьindex.html.
 07 янв. 2019 г., 08:10
Это отвечает не только на поставленный вопрос. Фактически, я искал, вероятно, около месяца назад хороший способ извлечь одну или несколько конкретных частей из строки URL (я думаю, что это была, вероятно, текущая страница, которую я пытался получить), и хотя другие вопросы были больше на - цель, их ответы были не так полезны и прямолинейны для этой цели, как этот.
 23 июл. 2014 г., 00:18
Они не являются "методами" изwindow.location, но свойства иhere we have an example: var stringPathName = window.location.pathname.
 16 апр. 2014 г., 00:22
Это лучший ответ для меня. Могу поспорить, что большинство людей здесь не просто искали, как получить текущий URL, но и другую информацию, указанную в ответе. Спасибо @Nikhil
 23 дек. 2016 г., 06:11
@FabioC. Вы можете удалить егоsubstring, Тем не менее, это может быть полезно, когда вы хотите использовать для перенаправленияdocument.location = "/page.html"; будет перенаправлять на корневую страницуpage.html

full 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"

The window.location.href property returns the URL of the current page.

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

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 здесь, чтобы отправить идентификатор и перенаправить страницу с помощьюwindow.location.replace, просто добавьте атрибутid="" как указано.

location.href и чтобы получить ссылку текущего контроллера, используйте:

location.href.substring(0, location.href.lastIndexOf('/'));
   location.origin+location.pathname+location.search+location.hash;

затем вызвать функцию, которая принимает URL, переменную URL и печатает на консоли,

$(window).load(function(){
   var url = window.location.href.toString();
   var URL = document.URL;
   var wayThreeUsingJQuery = $(location).attr('href');
   console.log(url);
   console.log(URL);
   console.log(wayThreeUsingJQuery );
});

Ваш ответ на вопрос