Получить абсолютную ссылку через jquery
Всем привет, есть скрипт, перехватывающий клик по ссылкам:
$(document).ready(function(){
$("a.myclass").click(function(){
window.open('http://site.ru/?aaa='+$('.myclass2 a:last').attr('href')+'&bbb='+encodeURIComponent($('.myclass3').text()),'_blank');
return false;
});
});
Ссылка 'a', которая сидит в теге с классом "myclass2" обрабатывается корректно, но проблема в том, что там может быть как относительная ссылка от корня сайта (/papka/file.jpg), так и абсолютная (http://newsite2.ru/somelink). Как переписать скрипт, чтобы к параметру 'aaa' присваивалась всегда абсолютная ссылка?
$(document).ready(function(){
$("a.myclass").click(function(){
window.open('http://site.ru/?aaa='+$('.myclass2 a:last').attr('href')+'&bbb='+encodeURIComponent($('.myclass3').text()),'_blank');
return false;
});
});
Ссылка 'a', которая сидит в теге с классом "myclass2" обрабатывается корректно, но проблема в том, что там может быть как относительная ссылка от корня сайта (/papka/file.jpg), так и абсолютная (http://newsite2.ru/somelink). Как переписать скрипт, чтобы к параметру 'aaa' присваивалась всегда абсолютная ссылка?
1 ответов
Я бы сделал как то так:
$("a.myclass").click(function(){
var url = $(this).attr("href");
if(((url.indexOf("http://"))=="-1")&&((url.indexOf("https://"))=="-1")){
var url = ((url.substr(0,4))=="www.")?"http://"+url.substr(4):"http://"+window.location.hostname+url;
alert(url); // отформатированный урл.
}
return false;
});
var url = $(this).attr("href");
if(((url.indexOf("http://"))=="-1")&&((url.indexOf("https://"))=="-1")){
var url = ((url.substr(0,4))=="www.")?"http://"+url.substr(4):"http://"+window.location.hostname+url;
alert(url); // отформатированный урл.
}
return false;
});