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

вопрос создан в Sat, Sep 23, 2017 12:00 AM

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

    
2762
  1. 2014-06-24 16: 15: 58Z
  2. 2015-08-20 13: 34: 53Z
20 ответов                              20                         

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

window.location.href 

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

document.URL;

См. URL-адрес типа DOMString, только для чтения .

    
3415
2018-03-09 02: 06: 18Z
  1. В Firefox 12 свойство document.URL не обновляется после window.location на якорь (#), а window.location.href - на. Я собрал демонстрационную версию здесь: jsfiddle.net/PxgKy я не тестировал другие версии Firefox. Проблемы с использованием document.URL не были обнаружены в Chrome 20 и IE9.
    2012-07-07 16: 26: 20Z
  2. также вы можете получить хост и очистить местоположение: window.location.host и window.location.href.toString().split(window.location.host)[1]
    2012-11-26 11: 59: 23Z
  3. и о том, что такое document.baseURI. В основном есть 3 способа получить URL document.baseURI, document.URL, & location.
    2013-08-29 12: 06: 00Z
  4. - 1: если у вас есть рамка, изображение или форма с name="URL", тогда это свойство будет затенено для объекта document, и ваш код будет поврежден. В этом случае document.URL будет ссылаться на узел DOM. Лучше использовать свойства глобального объекта, как в window.location.href.
    2013-12-05 00: 02: 21Z
  5. "window.location.href" для выигрыша
    2014-07-11 12: 31: 48Z

Доступ к информации URL

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

var currentLocation = window.location;

Основная структура URL

<protocol>//<hostname>:<port>/<pathname><search><hash>
  • протокол: . Указывает имя протокола, которое будет использоваться для доступа к ресурсу в Интернете. (HTTP (без SSL) или HTTPS (с SSL))

  • hostname: Host name указывает хост, которому принадлежит ресурс. Например, www.stackoverflow.com. Сервер предоставляет услуги, используя имя хоста.

  • порт: номер порта, используемый для распознавания определенного процесса, к которому подключен интернетt или другое сетевое сообщение должно быть переслано, когда оно поступит на сервер.

  • pathname: . Путь содержит информацию о конкретном ресурсе хоста, к которому веб-клиент хочет получить доступ. Например, /index.html.

  • query: Строка запроса следует за компонентом пути и предоставляет строку информации, которую ресурс может использовать для некоторых целей (например, в качестве параметров для поиска или в качестве данных для обрабатываться).

  • хэш: часть привязки URL-адреса включает знак хеша (#).

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

  • href - весь URL
  • протокол - протокол URL-адреса
  • хост - имя хоста и порт URL-адреса
  • имя хоста - имя хоста URL
  • порт - номер порта, который сервер использует для URL-адреса
  • путь - путь к URL-адресу
  • поиск - часть запроса в URL
  • хэш - якорная часть URL-адреса

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

    
600
2018-07-16 11: 54: 25Z
  1. Это не "методы" window.location, а свойства, и здесь мы имеем пример : var stringPathName = window.location.pathname.
    2014-07-22 22: 18: 40Z
  2. @ FabioC. Вы можете удалить его по substring. Однако это может быть полезно, если вы хотите использовать для перенаправления document.location = "/page.html"; перенаправит на корневую страницу page.html
    2016-12-23 05: 11: 32Z
  3. Имейте в виду, что ie9 pathname не имеет начального слеша, поэтому это может быть index.html.
    2017-06-05 14: 55: 11Z
  4. Это ответ не только на поставленный вопрос. Фактически, я искал, вероятно, около месяца назад хороший способ извлечь одну или несколько конкретных частей из строки URL (я думаю, что это была, вероятно, текущая страница, которую я пытался получить), и хотя другие вопросы были больше на - цель, их ответы не были такими полезными и понятными для этой цели, как этот.
    2019-01-07 07: 10: 11Z
  5. Одно быстрое предложение: в базовой структуре URL, описанной выше, есть место для search, но в списке описаний ниже он называется query. Возможно, они может быть согласовано или может быть добавлено дополнительное объяснение.
    2019-01-07 07: 11: 56Z

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

    
314
2019-02-18 11: 48: 01Z
  1. 2010-03-12 09: 06: 29Z

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

window.location.href
    
254
2009-06-23 19: 28: 43Z
  1. Обратите внимание, что это местоположение окна, а не документа.
    2009-06-23 19: 32: 27Z
  2. Это то же самое. Полный текущий URL ссылается на путь к документу (внешний адрес).
    2009-06-23 19: 34: 31Z
  3. Он стандартизирован как document.url? (Я имею в виду что-то вроде документа w3c)
    2009-06-23 19: 47: 15Z
  4. 2009-06-23 21: 42: 55Z
  5. document является корнем дерева документа, определенного в спецификации. window, как правило, эквивалентен, но это может не произойти в некоторых странных обстоятельствах.
    2014-09-19 16: 19: 27Z

Чтобы получить путь, вы можете использовать:

р>

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
2018-09-03 20: 58: 56Z

Откройте Инструменты разработчика , введите в консоли следующее и нажмите Enter .

window.location

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

 введите описание изображения здесь

Возьмите то, что вам нужно отсюда. :)

    
33
2017-06-15 10: 01: 00Z

Использование: window.location.href.

Как отмечалось выше, document.URL не обновляется при обновлении window.location. См. MDN .

    
27
2014-04-25 16: 14: 28Z

Хорошо, получить полный 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.location.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

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

    
27
2019-06-25 05: 30: 12Z
  • Используйте window.location.href, чтобы получить полный URL.
  • Используйте window.location.pathname, чтобы получить URL, покидающий хост.
19
2015-04-21 09: 08: 28Z
  1. window.location.pathname не включает запрос и хеш-фрагмент
    2015-06-29 07: 53: 14Z

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

JavaScript:

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

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

JQuery

$(location).attr('href');
    
15
2017-05-25 21: 31: 08Z
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

Приведенный выше код также может помочь кому-то

    
10
2014-07-07 09: 54: 01Z
  1. Вы применили .toLowerCase () к URL-адресу, который фактически изменяет его. Некоторые серверы чувствительны к регистру (linux и т. Д.)
    2015-05-15 23: 33: 22Z
  2. Вы должны многословно использовать window.href. Этот код работает только в контексте, где это окно ===, однако это может не всегда иметь место, особенно если кто-то вставил это решение.
    2015-05-29 16: 01: 44Z
  3. Это не "некоторые" серверы, которые чувствительны к регистру. Это большинство серверов. Поэтому я согласен с AnthonyVO: изменение регистра URL - очень плохая идея.
    2015-06-11 17: 47: 31Z
  4. Вы не можете toLowerCase () URL, будучи уверенным, что не сломаете его !!! Если url http://www.server.com/path/to/Script.php?option=A1B2C3, если файловая система чувствительна к регистру (Linux /Unix), не обязательно все Script.php и script.php одинаковы. И даже если регистр не чувствителен (Windows, некоторые Mac), ?option=A1B2C3 - это не то же самое, что ?option=a1b2c3 или даже ?Option=A1B2C3. Только сервер нечувствителен к регистру: www.server.com или www.SeRvEr.cOm одинаковы.
    2016-09-09 07: 03: 22Z

Добавление результата для быстрого ознакомления

  

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
2017-11-03 13: 52: 36Z

Полный URL со строками запроса:

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

Для URL хоста:

window.location
    
7
2014-09-13 10: 45: 22Z
  1. Вы применили .toLowerCase () к URL-адресу, который фактически изменяет его. Некоторые серверы чувствительны к регистру (linux и т. Д.)
    2015-05-15 23: 32: 53Z
  2. Как сказатьd, вы не можете уменьшить () URL, будучи уверенным, что не сломаете его !!! Если URL-адрес server.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 одинаковы.
    2016-09-09 07: 06: 40Z
  3. Спасибо AnthonyVO за указание на это. Мы можем использовать только document.location.toString (), чтобы получить полный URL. toLowerCase () должен был сравниваться как indexOf в вашем скрипте.
    2018-04-23 07: 05: 37Z

В jstl мы можем получить доступ к текущему пути URL-адреса, используя pageContext.request.contextPath. Если вы хотите сделать вызов Ajax, используйте следующий URL-адрес.

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

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

    
4
2017-05-25 21: 32: 13Z

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

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

И все современные браузеры сопоставляют document.location с window.location.

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

    
4
2017-05-25 21: 32: 43Z
   location.origin+location.pathname+location.search+location.hash;
    
0
2017-04-06 11: 47: 26Z

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

location.href.substring(0, location.href.lastIndexOf('/'));
    
0
2017-05-25 21: 29: 40Z

если вы ссылаетесь на конкретную ссылку с идентификатором , этот код может вам помочь.

$(".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="", как указано.

    
0
2018-06-30 10: 26: 00Z

Получение текущего URL с помощью JavaScript:

  
    window.location.toString (); р>   
  • window.location.href
  •   
    
0
2018-09-22 06: 36: 16Z

Сначала проверьте, что страница полностью загружена в

browser,window.location.toString();

window.location.href

затем вызовите функцию, которая принимает 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 );
});
    
- 2
2019-05-30 10: 34: 04Z
источник размещен Вот