【问题标题】:Get the "main" domain name JS获取“主”域名JS
【发布时间】:2020-08-13 17:40:31
【问题描述】:

我的目标是在 JS 中获取当前页面的“主”域名。 “main”是指所有这些域都应该返回相同的结果,“domain”:

  • .com
  • 域名.co.uk
  • 子域。.com
  • 子域。.co.uk

如您所见,在每个周期拆分查询并使用固定索引是行不通的,因为第二个和第三个 URL 的长度相同,但主域位于不同的索引。

浏览器是否甚至将域的一部分识别为“主”域?如果是这样,是否有一种直接的方式来使用 JS 获得它?有没有图书馆可以帮助我解决这个问题?

【问题讨论】:

  • window.location.hostname.split(".")[0].
  • 这是你所在的 urls 页面还是字符串?
  • @fedesc 我正在编写一个 chrome 插件,所以我可以访问所有标准的 Web API。
  • @WaisKamal 第一个解决方案在有子域时不起作用,并且链接的问题也没有真正提供方法。

标签: javascript url tld


【解决方案1】:

试试psl

// Parse domain with nested subdomains
var parsed = psl.parse('a.b.c.d.foo.example');
console.log(parsed.tld); // 'example'
console.log(parsed.sld); // 'foo'
console.log(parsed.domain); // 'foo.example'
console.log(parsed.subdomain); // 'a.b.c.d'

【讨论】:

    猜你喜欢
    • 2020-09-03
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 2023-03-07
    • 2010-10-23
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    相关资源
    最近更新 更多