Всегда ли свойство a.href возвращается как абсолютное? - PullRequest
7 голосов
/ 29 апреля 2011

В следующем HTML:

<a id="link" href="page.htm">Page</a>

Я обнаружил, что document.getElementById("link").href всегда возвращает абсолютный путь к page.htm, а не относительный путь, как я его набрал. Смотри http://jsfiddle.net/4HgAW/.

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

Причина, по которой я спрашиваю, состоит в том, что я хватаю часть http://www...., чтобы проверить, на какой домен указывает ссылка, и она мне нужна также и для внутренних ссылок.

1 Ответ

15 голосов
/ 29 апреля 2011

Да, все соответствующие браузеры возвращают полный URL-адрес.

Если вы хотите получить исходное значение атрибута href (в данном случае «page.html»), вы можете сделать это:

anchor.getAttribute('href')

Однако это не работает в старых версиях IE (8 и ниже).

Демонстрационная версия: http://jsfiddle.net/simevidas/4HgAW/1/

...