JQuery - получить URL-путь? - PullRequest
       18

JQuery - получить URL-путь?

18 голосов
/ 19 апреля 2010

Я знаю, что могу использовать window.location.pathname для возврата URL-адреса, но как мне проанализировать URL-адрес?

У меня есть такой URL-адрес: http://localhost/messages/mine/9889, и я пытаюсь проверить, существует ли в этом URL "мое"?

Итак, если "моя" - вторая часть в этом URL, я хочу написать оператор if, основанный на этом ...

if(second argument == 'mine') { do something }

Ответы [ 5 ]

44 голосов
/ 19 апреля 2010
if ( location.pathname.split("/")[2] == "mine" ) { do something }

Хотя, очевидно, было бы лучше проверить, достаточно ли в массиве элементов, возвращаемых функцией split:

var a = location.pathname.split("/");
if ( a.length > 2 && a[2] == "mine" ) { do something }

Обратите внимание, что хотя индексы массива основаны на нуле, мы хотим указать 2 в качестве индекса, чтобы получить то, что вы называете вторым аргументом в качестве split, разделяет "/ messages / mine / 9889" на массив из 4 элементов:

["", "messages", "mine", "9889"]
8 голосов
/ 19 апреля 2010

если опция jquery, вы можете сделать следующее:

$.inArray("mine", window.location.pathname.split("/"))
5 голосов
/ 19 апреля 2010
if (window.location.pathname.split("/")[2] == "mine") {
  // it exists
};

window.location.pathname - строка в конце дня, поэтому применяются обычные строковые методы .

1 голос
/ 03 октября 2015

Несмотря на то, что это очень старый запрос ... он появляется при поиске. Так что, чтобы добавить мои заметки .. здесь

url.indexOf('mine') !== -1 

Выше следует использовать для проверки, чтобы найти, есть ли в url строка ... где, чтобы найти путь, лучше использовать

var a = document.createElement('a');
a.href = url;
console.log(a.pathname);
// if url='http://localhost/messages/mine/9889'
// output will be /messages/mine/9889

надеюсь, это сэкономит время

0 голосов
/ 19 апреля 2010

Вы можете использовать функцию string.split ('/'), чтобы создать массив элементов для проверки, в противном случае есть несколько плагинов jQuery, которые анализируют URL, например

http://projects.allmarkedup.com/jquery_url_parser/

...