Получение пути URL-адреса, хранящегося в переменной - PullRequest
0 голосов
/ 19 февраля 2012

Я пытаюсь получить / блог, чтобы вставить url_pathname.

var link = 'http://www.example.com/blog';
alert(url_pathname);

, если ссылка была 'http://www.example.com/blog/post', url_pathname будет / blog / page

Я безуспешно пробовал следующее.

Ответы [ 2 ]

2 голосов
/ 19 февраля 2012

Свойства pathname доступны только для объекта location и элементов ссылки. Присвойте строку привязке и прочитайте значение из проанализированной ссылки следующим образом:

var link = 'http://www.example.com/blog';
var a = document.createElement('a'); // Create a dummy <a> element
a.href = link;                       // Assign link, let the browser parse it
var url_pathname = a.pathname;
alert(url_pathname);

<ч /> Объяснение вашего неудачного метода:

  • link - это строка.
  • Когда вы используете link[0], вы получаете первый символ строки, h.
  • Затем вы пытаетесь получить свойство pathname. Это свойство не определено в строке, поэтому вы получаете undefined.
    (добавлено это объяснение, чтобы пояснить, почему JavaScript не выдавал ошибку)
0 голосов
/ 19 февраля 2012

Попробуйте, сделайте его менее многословным:

//var link = 'http://www.example.com/blog'; // try this
var link = "http://www.example.com/blog/post";
var i = link.indexOf('.com')​​​;//assuming ends in .com, find where it starts
alert(link.substring(i+4));//use +4 to skip .com

См. Демонстрацию: http://jsfiddle.net/c6MMz/

...