Как можно конвертировать относительный URL в абсолютный на JavaScript?

JavaScript, Вопросы и ответы
14 февраля 2012

Вопрос

Мне нужно получить из относительного веб-адреса абсолютный (полный). Как это можно сделать на чистом JavaScript? Предположим, у меня есть ссылка вида:

<a href="mysite.com/blog">Мой блог</a>
<a href="http://mysite.com/blog">Мой блог</a>
<a href="/blog">Мой блог</a>

Я хочу, чтобы при обращении ко всем ссылкам я получал одинаковый полный адрес вместе с «http», как во втором варианте.


Ответ №1

Все современные браузеры преобразовывают путь в абсолютный автоматически при обращении к element.href. Но есть некоторые устаревшие интернет-эксплореры (особенно шестых версий), которые особо отличились и выдают ссылку без преобразования. Чтобы получить полный URL-адрес наверняка, можно пропустить его через функцию:

function absPath(url){
	var Loc = location.href;	
	Loc = Loc.substring(0, Loc.lastIndexOf('/'));
	while (/^\.\./.test(url)){		 
		Loc = Loc.substring(0, Loc.lastIndexOf('/'));
		url= url.substring(3);
	}
	return Loc + '/' + url;
}

8 комментария

  • Камиль:

    Спасибо! Избавил меня от необходимости изобретать велосипед;)

  • DanielWep:

    President Putin is really dead or not?
    http://wooooow.ru/putin-has-died/

  • DanielWep:

    привет! сейчас этот гель очень популярен. посмотри может тебе он нужен? https://goo.gl/lalfPU

  • MikeJob:

    Hi,

    We started great new movie project, could you support us and share link on your site?
    Its a free online movie source https://moviesto.me with free registration
    Thanks!

  • seoEV:

    Добрый день.
    Если вам нужны клиенты — могу вам помочь.
    Вы получите трафик заинтересованных клиентов на свой сайт.
    Продвину ваш сайт в топ 10 по ключевым запросам в поисковых системах Яндекс и Гугл.
    Берусь за сложные случаи.

    В настоящий момент считаю наиболее оптимальным продвигаться по 50-100 запросам сразу.По умолчанию я сам составляю для Вас проект, подберу семантическое ядро для сайта, составлю алгоритм работы, проведу полный анализ вашей ниши.Продвижение сайта не зависит от какой либо поисковой системы, так как продвижение универсально.

    Сегодня многие «продвиженцы» сайтов берут огромные деньги необоснованно. Я использую новейшую, белую методику продвижения сайтов, которую используют профессиональные фирмы, но в отличие от фирм, которые берут за свои услуги 150 процентов, я работаю по минимальной стоимости.
    Предлагаю гарантированный рост сайта по ключевым запросам и трафик заинтересованных клиентов на ваш сайт. Не имеет значения чем занимается компания и какая конкуренция в сети.

    Если вас заинтересовало предложение — вы можете задать интересующие вас вопросы по электронной почте или оставить свои контактные данные для связи.
    seo.eugeny@yandex.ru для заявок и уточнения стоимости работ по вашему сайту.
    С уважением, Евгений.
    Специалист по продвижению, созданию и поддержке интернет сайта.
    Любые ключевые слова с минимальными затратами. Частник. Опыт 12 лет.

  • Raketa:

    Клиенты для вашего сайта — за копейки. https://goo.gl/yRqL2V ссылка на курс.
    СТРЕМИТЕЛЬНЫЙ РОСТ ПОСЕЩАЕМОСТИ ВАШЕГО САЙТА!
    Обучающий видео курс «Продающий Яндекс Директ и Google Adwords — Ракета 2.0 своими руками!»
    Торопитесь научиться или научить своих сотрудников настройке контекстной рекламы Яндекс Директ и Google Adwords — пока ваши конкуренты не сделали это за вас!
    Уменьшение стоимости клика и многое другое. Бонусы и подарки.
    Фрилансер «сливает» Ваш бюджет на Директ и Adwords?
    Оплачиваете крупные счета агентству за Директ и Adwords?
    Хотите запустить рекламу быстро с понятным результатом самостоятельно?
    Зачем вам платить за настройку контекстной рекламы?
    Никто не настроит вам рекламную компанию лучше вас. Вы получаете уникальный Видеокурс, обучающий настройке контекстной рекламы Яндекс Директ и Google Adwords. Курс подходит как для новичков, так и для специалистов в контекстной рекламе.

  • zvezdochet:

    Размещаем частные и коммерческие объявления по популярным и тематическим интернет-доскам объявлений,
    все данные будут заполнены верно и объявления будут добавлены в соответствующую рубрику.
    В кратчайшие сроки Ваше объявление будет размещено на популярных досках объявлений и предоставлен подробный отчет с указанием ссылок на все опубликованные объявления.
    Подача объявлений и рекламы самых различных направлений, таких как: товары, услуги, работа, недвижимость, партнерство, транспорт, бизнес, строительство, интернет, сайты, промышленность, образование, электроника, агросектор, одежда, техника, продукты, здоровье, животные, кредиты, туризм, оборудование и прочее.
    Для запуска рассылки нужно один раз заполнить бриф.
    Стоимость рассылки:
    1 рассылка на 5 000 досок = 3 тыс. рублей
    1 рассылка на 10 000 досок = 5 тыс. рублей
    1 рассылка на 100 000 досок = 25 тыс. рублей
    3 рассылки на 5 000 досок = 7.5 тыс. рублей
    3 рассылки на 10 000 досок = 12.5 тыс. рублей
    3 рассылки на 100 000 досок = 62.5 тыс. рублей
    Для заказа рассылки по доскам обращайтесь на почту seocompozit@gmail.com
    Или звоните +7 910 465 59 22

  • Propasportneoms:

    Добрый денёк!
    Мы, динамично расширяющаяся фирма на рынке формирования документов, в области визовых услуг и оформлении иностранцев и иногородних граждан.
    Имеем возможность делать регистрацию для гр . СНГ на 3 мес. за 2.000 р., регистрацию для гр-н, стран входящих в евразийский союз: Армения , и др., на 12 мес-5500руб. Временную и постоянную прописку для сограждан РФ.
    Работаем только с ФМС. Только законно.

    Также оказываем поддержку в подготовке патентов на трудовую деятельность и оформлении РВП, ВНЖ, Гражданства РФ, цена согласовывается объективно на основании полноты документации.

    Имеется возможность предложить официально оформленных иностранных сотрудников по низкой стоимости-аутстаффинг, либо можем выполнить ваш проект как аутсорсинг- на исполнение по договору.

    Заинтересованы в сотрудничестве с компаниями, разыскиваем партнеров, оплачиваем процент посредникам .

    Ознакомиться со всеми предложениями и ценами можно в подразделе Все Услуги.

    Если предложение для вас заинтересовало,оставьте сообщение на почту,на сайте.
    Благодарим за внимание
    Ссылка: http://17mma.com/home/link.php?url=https://propasport.ru

Добавить комментарий


(обязательно)