使用 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的主要内容,如果未能解决你的问题,请参考以下文章

从超类调用子类的方法

子类没有正确地从超类继承结构[重复]

当子类使用Object变量实例化时,无法从超类访问方法

MS-Access - 从超链接数据单击打开表单

从超链接 div 中的链接中删除下划线

子类是不是从超类继承私有实例变量