Получить относительный путь URL-адреса страницы с помощью javascript

В javascript, как я могу получить относительный путь текущего URL-адреса?

например http://www.example.com/test/this?page=2

Я хочу только /test/this?page=2


person raklos    schedule 21.12.2010    source источник
comment
Почему бы вам не проверить это: lawrence.ecorp.net/inet/ Samples/regexp-parse.php в середине страницы показывает, как извлекать различные части с помощью регулярных выражений javascript.   -  person JohnMerlino    schedule 22.12.2010
comment
Это относительный путь   -  person Ben Taliadoros    schedule 20.10.2014
comment
@BenTaliadoros прав - кто-то должен отредактировать вопрос и описание, чтобы правильно указать относительный путь вместо абсолютного пути.   -  person jbyrd    schedule 17.09.2015
comment
@jbyrd stackoverflow.com/review/suggested-edits/10865424   -  person    schedule 12.01.2016


Ответы (7)


Пытаться

window.location.pathname+window.location.search
person Dr.Molle    schedule 21.12.2010

location.href

содержит URL-адрес страницы, на которой работает ваш скрипт.

person Bernhard Hofmann    schedule 21.12.2010

Самый быстрый и полный способ:

location.href.replace(/(.+\w\/)(.+)/,"/$2");
person Joe Johnson    schedule 03.12.2013
comment
Неполный, будет соответствовать полному URL-адресу, если нет пути. Например, возвращает https://stackoverflow.com/. - person House3272; 26.08.2016

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

 var getAbsoluteUrl = (function() {
     var a;
     return function(url) {
         if(!a) a = document.createElement('a');
         a.href = url;
         return a.href;
     }
})();

// Sample Result based on the input.
getAbsoluteUrl('/'); //Returns http://stackoverflow.com/

Оформить получить абсолютный URL-адрес с помощью Javascript, чтобы получить более подробную информацию и несколько способов достичь той же функциональности.

person Srinivas Ramakrishna    schedule 01.12.2015

location.href.replace(location.origin,'');

Единственный странный случай: http://foo.com/ >> "/"

person House3272    schedule 25.08.2016

Я использую это:

var absURL = document.URL;
alert(absURL);

Ссылка: http://www.w3schools.com/jsref/prop_doc_url.asp

person amypellegrini    schedule 10.06.2011

Вы должны использовать его способом javascript, чтобы получить полный путь, включая расширения со страницы,

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

Таким образом, такой путь тоже можно получить.

www.google.com/results#tab=2  
person Coding active    schedule 17.11.2015
comment
Это способ jQuery. Почему не «location.href», как указано в предыдущем ответе? - person Paul; 03.02.2017