如何在所有浏览器中使用jQuery/JavaScript一致地检索锚链接的完整URL ?例如,我想从<a href="../mypage.aspx"></a>
返回http://www.mysite.com/mypage.aspx
。
我已经试过了:
-
$(this).attr('href')
:问题是,jQuery返回的确切值的href(即../mypage.aspx
)。 -
this.getAttribute('href')
:这在Internet Explorer中工作,但在FireFox中它的行为与上述相同。
替代方案是什么?我不能简单地将当前站点的路径附加到href值,因为在上述情况下,href的值会转义当前目录,这将不起作用。
可以创建一个img元素,然后将src属性设置为检索到的href值。然后,当您检索src属性时,它将被完全限定。下面是我从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;
}