Как получить URL из адресной строки браузера? - PullRequest
14 голосов
/ 14 ноября 2010

Я хотел сделать некоторую аналитику js, поэтому мне нужно было бы знать, как получить то, что пользователь ввел в адресную строку как переменную js, чтобы я мог знать, какие ошибки наиболее распространены.Таким образом, я могу перенаправлять наиболее распространенные ошибки на правильные адреса и сокращать количество запросов до 404.

пример ввода пользователя в браузере:

https://stackoverflow.com/questions

.........................................

Я пробовал использовать

document.location

, но это показывает, на какой странице находится пользователь (т.е. адрес страницы 404), а не на том, что он набрал

Ответы [ 6 ]

25 голосов
/ 14 ноября 2010

Это дает вам точный URL, на котором находится пользователь:

document.location.href

Нет способа определить, что пользователь набрал перед отправкой запроса (по соображениям безопасности).

4 голосов
/ 14 октября 2018

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

  1. href => Это вернет весь URL, отображаемый в адресной строке.
  2. host => Это вернет имя хоста и порт URL в адресной строке.
  3. hostname => Это вернет только имя хоста URL в адресной строке.
  4. port => Это вернет только сведения о порте URL в адресной строке.
  5. protocol => Это вернет протокол URL в адресной строке. Например, URL использует HTTP (без SSL) или HTTPS (с SSL).
  6. pathname => Это вернет путь (значение после имени домена) URL в адресной строке.
  7. hashpathname => Это вернет якорную часть URL, включая hash singh (#).
  8. search => Это вернет запрашиваемую часть URL-подобной части, которая начинается со знака вопроса (?).
    console.log(' href => ' + window.location.href);
    console.log(' host => ' + window.location.host);
    console.log(' hostname => ' + window.location.hostname);
    console.log(' port => ' + window.location.port);
    console.log(' protocol => ' + window.location.protocol);
    console.log(' pathname => ' + window.location.pathname);
    console.log(' hashpathname => ' + window.location.hash);
    console.log(' search=> ' + window.location.search);

ссылка: https://tecadmin.net/get-current-url-web-browser-using-javascript/

2 голосов
/ 14 ноября 2010

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

1 голос
/ 14 ноября 2010

Многие системы управления контентом сохраняют URL при переходе на страницу 404, поэтому вы можете использовать document.location.href, а затем просто проверить аналитику на странице ошибок.

0 голосов
/ 15 мая 2013

Это хороший способ получить адрес ссылки для перезагрузки, если таковой существует, и в нем должен быть URL, введенный в адресную строку.

var arr = [], l = document.links;
for(var i=0; i<l.length; i++) {
  arr.push(l[i].href);
}

от: https://stackoverflow.com/a/3871370/1188090

0 голосов
/ 14 ноября 2010
javascript: alert(window.location.hostname);

Если вы хотите показать путь, замените .hostname на .pathname.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...