javascript - 使用 jQuery/javascript 测试链接是否为外部链接?

标签 javascript jquery location href

如何测试链接是外部链接还是内部链接?请注意:

  1. 我无法对本地域进行硬编码。
  2. 我无法测试“http”。我可以很容易地使用 http 绝对链接链接到我自己的网站。
  3. 我想使用 jQuery/javascript,而不是 css。

我怀疑答案就在 location.href 的某处,但我没有找到答案。

谢谢!

最佳答案

我知道这篇文章很旧,但它仍然显示在结果的顶部,所以我想提供另一种方法。我看到了对 anchor 元素的所有正则表达式检查,但为什么不只使用 window.location.host 并检查元素的 host 属性呢?

function link_is_external(link_element) {
    return (link_element.host !== window.location.host);
}

使用 jQuery:

$('a').each(function() {
    if (link_is_external(this)) {
        // External
    }
});

并使用纯 javascript:

var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
    if (link_is_external(links[i])) {
        // External
    }
}

关于javascript - 使用 jQuery/javascript 测试链接是否为外部链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2910946/

相关文章:

javascript - Fetch API- res.json() 返回一个 [object][object]

javascript - 有人在他们的元素中使用 iziModal.js 吗?

c# - 使用 javascript 调用重定向到 ASP.NET MVC 应用程序的操作

jquery 访问动态内容的元素

jquery - 是否有可能让多个表单与一个 ajax post 函数一起使用

android - Android 8 或 9 的后台地理围栏不起作用

javascript 从 div id 添加/删除类?

javascript - 跳过不存在的对象(过滤)React-Native

Android - 从 LocationClient 获取的位置不支持速度

iPhone 指南针 GPS 方向