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

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

23.06.2009 19:26:45
blong 24.06.2014 16:15:58
Nilesh Botre 20.08.2015 13:34:53
23 ОТВЕТА
РЕШЕНИЕ

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

window.location.href 

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

document.URL;

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

3658
9.03.2018 02:06:18
В Firefox 12 document.URLсвойство не обновляется после window.locationякоря (#), а обновляется window.location.href. Я собрал демонстрационную версию здесь: jsfiddle.net/PxgKy Я не тестировал другие версии Firefox. В document.URLChrome 20 и IE9 проблем с использованием не обнаружено.
Telmo Marques 7.07.2012 16:26:20
Кроме того, вы можете получить хост и четкое местоположение: window.location.hostиwindow.location.href.toString().split(window.location.host)[1]
ali youhannaei 26.11.2012 11:59:23
и что document.baseURIтогда? В основном есть 3 способа получить URL document.baseURI, document.URL, & location.
Muhammad Umer 29.08.2013 12:06:00
-1: если у вас есть рамка, изображение или форма, name="URL"тогда это свойство будет затенено documentобъектом, и ваш код сломается. В этом случае document.URLбудет ссылаться на узел DOM. Лучше использовать свойства глобального объекта как в window.location.href.
Roy Tinker 5.12.2013 00:02:21
"window.location.href" для победы
GabrielBB 11.07.2014 12:31:48

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

window.location.href
259
23.06.2009 19:28:43
Обратите внимание, что это местоположение окна, а не документа.
Gumbo 23.06.2009 19:32:27
Это то же самое. Полный текущий URL ссылается на путь к документу (внешний адрес).
Zanoni 23.06.2009 19:34:31
Это стандартизировано как document.url? (Я имею в виду что-то вроде документа w3c)
chendral 23.06.2009 19:47:15
documentявляется корнем дерева документа, определенного спецификацией. windowкак правило, эквивалентно, но это может быть не при каких-то странных обстоятельствах.
broinjc 19.09.2014 16:19:27

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

318
18.02.2019 11:48:01
Christoph 12.03.2010 09:06:29
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

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

10
7.07.2014 09:54:01
Вы применили .toLowerCase () к URL, который фактически меняет его. Некоторые серверы чувствительны к регистру (Linux и т. Д.)
AnthonyVO 15.05.2015 23:33:22
Вы должны многословно использовать window.href. Этот код работает только в контексте, где это окно ===, но это не всегда так, особенно если кто-то вставил это решение.
deadboy 29.05.2015 16:01:44
Это не "некоторые" серверы, которые чувствительны к регистру. Это большинство серверов. Поэтому я согласен с AnthonyVO: изменение регистра URL - очень плохая идея.
mivk 11.06.2015 17:47:31
Вы не можете уменьшить () URL, будучи уверенным, что не сломаете его !!! Если url есть http://www.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 одинаковы.
FrancescoMM 9.09.2016 07:03:22

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

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

var currentLocation = window.location;

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

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

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

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

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

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

  • hash: Якорная часть URL, включает знак хеша (#).

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

  • href - весь URL
  • протокол - протокол URL
  • host - имя хоста и порт URL
  • hostname - имя хоста URL
  • порт - номер порта, который сервер использует для URL
  • pathname - путь к URL
  • search - поисковая часть URL
  • hash - якорная часть URL

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

651
16.04.2020 06:56:09
Они не являются «Методы» window.location, но свойства, и здесь мы имеем пример : var stringPathName = window.location.pathname.
Peter Krauss 22.07.2014 22:18:40
@FabioC. Вы можете удалить его с помощью substring. Тем не менее, это может быть полезно, когда вы хотите использовать перенаправление document.location = "/page.html";перенаправит на корневую страницуpage.html
FindOut_Quran 23.12.2016 05:11:32
Это отвечает не только на поставленный вопрос. Фактически, я искал, вероятно, около месяца назад хороший способ извлечь одну или несколько конкретных частей из строки URL (я думаю, что это была, вероятно, текущая страница, которую я пытался получить), и хотя другие вопросы были больше на - цель, их ответы были не так полезны и прямолинейны для этой цели, как этот.
Panzercrisis 7.01.2019 07:10:11
Одно быстрое предложение: в базовой структуре URL, описанной выше, есть место для search, но в списке описаний ниже оно называется a query. Возможно, они могут быть согласованы или могут быть добавлены дополнительные пояснения.
Panzercrisis 7.01.2019 07:11:56
Это называется «поиск», а не «запрос»
Apollo Data 27.12.2019 17:01:20

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

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

28
25.04.2014 16:14:28

Для полного URL со строками запроса:

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

Для хоста URL:

window.location
7
13.09.2014 10:45:22
Вы применили .toLowerCase () к URL, который фактически меняет его. Некоторые серверы чувствительны к регистру (Linux и т. Д.)
AnthonyVO 15.05.2015 23:32:53
Как уже говорилось, вы не можете toLowerCase () 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 одинаковы.
FrancescoMM 9.09.2016 07:06:40
Спасибо AnthonyVO за указание на это. Мы можем использовать только document.location.toString () для получения полного URL. toLowerCase () должен был сравниваться как indexOf в вашем скрипте.
Syed Nasir Abbas 23.04.2018 07:05:37
  • Используйте, window.location.hrefчтобы получить полный URL.
  • Используйте, window.location.pathnameчтобы получить URL, покидающий хост.
20
21.04.2015 09:08:28
window.location.pathname не включает в себя запрос и фрагмент хеша
OMGPOP 29.06.2015 07:53:14

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

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

39
3.09.2018 20:58:56

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

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

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

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

4
25.05.2017 21:32:43

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

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

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

4
25.05.2017 21:32:13

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

JavaScript:

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

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

JQuery :

$(location).attr('href');
16
25.05.2017 21:31:08

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

location.href.substring(0, location.href.lastIndexOf('/'));
0
25.05.2017 21:29:40
   location.origin+location.pathname+location.search+location.hash;
0
6.04.2017 11:47:26

Откройте Developer Tools , введите в консоли следующее и нажмите Enter .

window.location

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

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

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

34
15.06.2017 10:01:00

ОК, получить полный 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

54
25.06.2019 05:30:12
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href; не всегда правда! В window.location.pathname отсутствуют параметры GET.
AssassiN 31.12.2019 07:32:01

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

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
3.11.2017 13:52:36

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

  • window.location.toString ();

  • window.location.href

0
22.09.2018 06:36:16

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

$(".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
17.10.2019 02:59:02

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

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
30.05.2019 10:34:04

Для тех, кто хочет фактический объект URL, потенциально для утилиты, которая принимает URL в качестве аргумента:

const url = new URL(window.location.href)

https://developer.mozilla.org/en-US/docs/Web/API/URL

3
29.09.2019 22:51:28

Ответ Nikhil Agrawal хорош, просто добавив небольшой пример, который вы можете сделать в консоли, чтобы увидеть различные компоненты в действии:

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

Если вы хотите, чтобы базовый URL-адрес без пути или параметра запроса (например, для выполнения запросов AJAX в отношении работы как на рабочих / промежуточных, так и на производственных серверах), window.location.originбыл бы лучше, так как он поддерживает протокол и дополнительный порт (в разработке Django вы иногда есть нестандартный порт, который ломает его, если вы просто используете имя хоста и т. д.)

1
27.12.2019 17:05:46

Пытаться

location+''

0
1.01.2020 22:37:48