Вопрос по url, javascript – Получить текущий URL с помощью JavaScript?

2694

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

Возможный дубликат:Get protocol,domain and port from URL blong

Ваш Ответ

20   ответов
19
Use window.location.href to get the complete URL. Use window.location.pathname to get URL leaving the host.
window.location.pathname не включает запрос и хеш-фрагмент
0

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

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

window.location.href.

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

15

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

JavaScript:

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

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

jQuery:

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

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

0
   location.origin+location.pathname+location.search+location.hash;
7

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

Для хоста URL:

window.location
Вы применили .toLowerCase () к URL, который фактически меняет его. Некоторые серверы чувствительны к регистру (Linux и т. Д.)
Спасибо AnthonyVO за указание на это. Мы можем использовать только document.location.toString (), чтобы получить полный URL. toLowerCase () должен был сравниваться как indexOf в вашем скрипте.
Как уже говорилось, вы не можете уменьшить 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 одинаковы.
4

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

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

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

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

254

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

window.location.href
Это стандартизировано как document.url? (Я имею в виду что-то вроде документа w3c)
document является корнем дерева документа, определенного спецификацией.window обычно эквивалентно, но это может быть не при каких-то странных обстоятельствах.
Обратите внимание, что это местоположение окна, а не документа.
@chendral:w3.org/TR/Window/#location
Это то же самое. Полный текущий URL ссылается на путь к документу (внешний адрес).
3332

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

window.location.href 

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

document.URL;

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

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

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

смотрите такжеstackoverflow.com/questions/2430936/…
577

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

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

@FabioC. Вы можете удалить егоsubstring, Тем не менее, это может быть полезно, когда вы хотите использовать для перенаправленияdocument.location = "/page.html"; будет перенаправлять на корневую страницуpage.html
Это лучший ответ для меня. Могу поспорить, что большинство людей здесь не просто искали, как получить текущий URL, но и другую информацию, указанную в ответе. Спасибо @Nikhil
Они не являются "методами" изwindow.location, но свойства иhere we have an example: var stringPathName = window.location.pathname.
Имейте в виду ie9pathname не имеет косой черты, так что это может бытьindex.html.
Это отвечает не только на поставленный вопрос. Фактически, я искал, вероятно, около месяца назад хороший способ извлечь одну или несколько конкретных частей из строки URL (я думаю, что это была, вероятно, текущая страница, которую я пытался получить), и хотя другие вопросы были больше на - цель, их ответы были не так полезны и прямолинейны для этой цели, как этот.
10
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

Вы применили .toLowerCase () к URL, который фактически меняет его. Некоторые серверы чувствительны к регистру (Linux и т. Д.)
Это не "некоторые" серверы, которые чувствительны к регистру. Это МОСТ серверы. Поэтому я согласен с AnthonyVO: изменение регистра URL - очень плохая идея.
Вы должны многословно использовать window.href. Этот код работает только в контексте, где это окно ===, однако это может не всегда иметь место, особенно если кто-то вставил это решение.
Вы не можете
31

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

window.location

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

enter image description here

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

19

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

8

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

4

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

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

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

0

Getting the current URL with JavaScript :

window.location.toString();

window.location.href

-1

затем вызвать функцию, которая принимает 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 );
});

Похожие вопросы