Все, что я хочу, это получить URL сайта. Не тот URL, который взят из ссылки. При загрузке страницы мне нужно иметь возможность получить полный, текущий URL-адрес веб-сайта и установить его как переменную для использования, как мне угодно.
Все, что я хочу, это получить URL сайта. Не тот URL, который взят из ссылки. При загрузке страницы мне нужно иметь возможность получить полный, текущий URL-адрес веб-сайта и установить его как переменную для использования, как мне угодно.
Ответы:
Использование:
window.location.href
Как отмечено в комментариях, строка ниже работает, но она содержит ошибки для Firefox.
document.URL;
Смотрите URL типа DOMString, только для чтения .
document.URL
свойство не обновляется после window.location
якоря (#), а обновляется window.location.href
. Я собрал демонстрационную версию здесь: jsfiddle.net/PxgKy Я не тестировал другие версии Firefox. В document.URL
Chrome 20 и IE9 проблем с использованием не обнаружено.
window.location.host
window.location.href.toString().split(window.location.host)[1]
document.baseURI
тогда? В основном есть 3 способа получить URL document.baseURI
, document.URL
, & location
.
name="URL"
тогда это свойство будет затенено document
объектом, и ваш код сломается. В этом случае document.URL
будет ссылаться на узел DOM. Лучше использовать свойства глобального объекта как в window.location.href
.
Доступ к информации 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, а также к тому, что они могут устанавливать или возвращать:
Я надеюсь, что вы получили свой ответ ..
window.location
, но свойства, и здесь мы имеем пример : var stringPathName = window.location.pathname
.
substring
. Тем не менее, это может быть полезно, если вы хотите использовать перенаправление document.location = "/page.html";
перенаправит на корневую страницуpage.html
search
, но в списке описаний ниже оно называется a query
. Возможно, они могут быть согласованы или могут быть добавлены дополнительные пояснения.
Используйте window.location
для чтения и записи доступ к объекту местоположения, связанному с текущим кадром. Если вы просто хотите получить адрес в виде строки только для чтения, вы можете использовать ее document.URL
, которая должна содержать то же значение, что и window.location.href
.
Получает URL текущей страницы:
window.location.href
document
является корнем дерева документа, определенного спецификацией. window
обычно эквивалентно, но это может быть не при каких-то странных обстоятельствах.
ОК, получить полный 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
Чтобы получить путь, вы можете использовать:
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
Вы можете получить текущее местоположение URL с помощью хеш-тега , используя:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
JQuery :
$(location).attr('href');
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
Приведенный выше код также может помочь кому-то
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 одинаковы.
Добавление результата для быстрого ознакомления
window.location;
Location {href: "/programming/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
document.location
Location {href: "/programming/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
"/programming/1034621/get-the-current-url-with-javascript"
location.hostname
"stackoverflow.com"
Для полного URL со строками запроса:
document.location.toString().toLowerCase();
Для хоста URL:
window.location
В jstl мы можем получить доступ к текущему пути URL, используя pageContext.request.contextPath
. Если вы хотите сделать Ajax-вызов, используйте следующий URL.
url = "${pageContext.request.contextPath}" + "/controller/path"
Пример: для страницы http://stackoverflow.com/posts/36577223
это даст http://stackoverflow.com/controller/path
.
Способ получить текущее местоположение объекта window.location
.
Сравните это с тем document.location
, что первоначально вернул только текущий URL в виде строки. Вероятно, чтобы избежать путаницы, document.location
был заменен наdocument.URL
.
И все современные браузеры document.location
соответствуют window.location
.
На самом деле, для кросс-браузерной безопасности, вы должны использовать, window.location
а не document.location
.
Для тех, кто хочет фактический объект URL, потенциально для утилиты, которая принимает URL в качестве аргумента:
const url = new URL(window.location.href)
Ответ Nikhil Agrawal хорош, просто добавив небольшой пример, который вы можете сделать в консоли, чтобы увидеть различные компоненты в действии:
Если вы хотите, чтобы базовый URL-адрес без пути или параметра запроса (например, для выполнения запросов AJAX против работал как на рабочих / промежуточных, так и на производственных серверах), window.location.origin
лучше всего, поскольку он поддерживает протокол и дополнительный порт (в разработке Django вы иногда есть нестандартный порт, который ломает его, если вы просто используете имя хоста и т. д.)
Вы можете получить полную ссылку на текущей странице location.href
и получить ссылку на текущий контроллер, используя:
location.href.substring(0, location.href.lastIndexOf('/'));
Получение текущего URL с помощью JavaScript:
window.location.toString ();
window.location.href
если вы ссылаетесь на конкретную ссылку с идентификатором, этот код может вам помочь.
$(".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=""
как указано.
Во-первых, проверьте, что страница полностью загружена в
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 );
});