Obter URL completo de um hyperlink usando jQuery/JavaScript
Como posso obter a URL completa para a qual um link aponta usando jQuery/JavaScript de forma consistente em todos os navegadores? Por exemplo, quero retornar http://www.mysite.com/mypage.aspx a partir de <a href="../mypage.aspx"></a>.
Eu tentei o seguinte:
$ (this).attr('href'): O problema é que o jQuery retorna o valor exato do href (ou seja,../mypage.aspx).this.getAttribute('href'): Isso funciona no Internet Explorer, mas no FireFox comporta-se da mesma forma que acima.
Qual é a alternativa? Não posso simplesmente anexar o caminho do site atual ao valor do href porque isso não funcionaria no caso acima em que o valor do href escapa do diretório atual.
Resposta #1
Você pode criar um elemento img e então definir o atributo src para o valor href recuperado. Então, quando você recuperar o atributo src, ele estará totalmente qualificado. Aqui está uma função de exemplo que eu usei de http://james.padolsey.com/javascript/getting-a-fully-qualified-url/:
function qualifyURL(url){
var img = document.createElement('img');
img.src = url; // set string url
url = img.src; // get qualified url
img.src = null; // no server request
return url;
}
