Как получить полную ссылку из относительной, с учётом базы
Обычным решением вопроса является подобное (может использоваться img, для поддержки IE6):
Код:
var qualifyURL=function(url){ Гугль находит только решения вродеэтого, размер которых как-то не вдохновляет. Может быть есть что-то попроще? |
вам нужно, чтобы возвращалась ссылка в зависимости от двух параметров:,базового адреса(относительно которого задается) и относительного?
и в чем же проблема? если относительный адрес начинается со слеша, то приклеиваем относительный адрес к домену базового. если нет, то просто склеиваем. или я неправильно понял вашу задачу? PS по моему у найденного вами решения вполне приемлимый вид. если вам не нужны все варианты чклейки(например начианющихся с точки), то удалите соответствующий блок. еще можете написать очень сложную регулярку, которая будет занимать строчку-две, и выполнять все то же, что и то решение |
Поняли верно. Но хотелось бы иметь универсальное решение и при этом не изобретать велосипед. Самостоятельная обработка всех вариантов сильно на это смахивает ;)
Но, если нет других решений, то придётся так. |
если хотите, чтобы у вас было что-то по типу вашего кода, то попробуйте такое:
создайте динамически iframe с вашим базовым адресом. и относитлеьно него проводите создание ссылки и прочее. только с вероятностью 99.9% браузер вам этого не даст сделать, так как это противоречит политике безопасности |
Lexi,
А в какой задаче вам нужно конвертировать ссылки из относительной в абсолютную вручную? |
Gvozd,
Ну, домен в моём случае меняться не будет, так что можно и попробовать. Андрей Параничев, Задача частная, но хотелось бы иметь общее решение ;) |
Lexi,
то есть вам надо менять не домен(со своего на чужой) в базовом адресе, а подпапку в бзаовом адресе? тогда должно сработать, но имхо несмотря на краткость это не самое лучшее решение.задействовать DOM для работы со строками это слишком, хотя и обратное является своего рода "экономией на спичках" |
Создавайте тег base с нужным href, после определения урла удаляйте.
|
нет.я все -таки против задействования DOM-a для таких вещей.
по меому та функция, что вам выдал гугл очень даже хорошая. почистить от того что вам не надо, и будет в самый раз |
Gvozd,
там не все так просто, а тут несколько строчек. Простота -- залог надежности. |
Часовой пояс GMT +3, время: 16:30. |