使用 jQuery / JavaScript 从超链接获取完整 URL
Posted
技术标签:
【中文标题】使用 jQuery / JavaScript 从超链接获取完整 URL【英文标题】:Get full URL from a hyperlink using jQuery / JavaScript 【发布时间】:2012-01-07 15:57:08 【问题描述】:如何在所有浏览器中一致地使用 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 的值转义当前目录的情况下,这将不起作用。
【问题讨论】:
***.com/questions/303956/…的可能重复 你可能想看看这个问题***.com/questions/470832/… @sputnick,它绝对不是那个的复制品。这看起来像你的基本 n00bert url 属性问题,但它有点复杂。 【参考方案1】:您可以创建一个 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;
【讨论】:
澄清一下,这适用于我测试过的所有浏览器:IE 6-9、Chrome、FireFox 和 Safari。 请注意,至少在 Chrome 中,这会导致服务器请求 URL。以上是关于使用 jQuery / JavaScript 从超链接获取完整 URL的主要内容,如果未能解决你的问题,请参考以下文章