【问题标题】:JS : get top domain [duplicate]JS:获取顶级域[重复]
【发布时间】:2021-10-31 17:00:14
【问题描述】:

我正在寻找一种从网站获取顶级域的方法。例如。

  • 来自www.google.com => 返回google.com
  • 来自 subsite.site.com => 返回site.com
  • 来自 subsite.site.co.uk => 返回site.co.uk

作为基础,我可以使用document.domainlocation.hostname,但它没有获得顶级域。我需要它来构建一个在整个域上稳定的 cookie。

我们今天发现的最好的:

      var t = document.domain.split(".");
      if (t.length > 2) {
        domain_name = t.slice(1).join(".");
      }

i.a.如果域有超过 2 个部分,则删除第一部分。看起来还不错,但我没那么自信。

有没有更好的办法?

【问题讨论】:

    标签: javascript html cookies


    【解决方案1】:

    window.location.origin
    Location 接口的源只读属性是一个 USVString,其中包含所代表 URL 源的 Unicode 序列化。
    location.host
    是一个包含主机的 USVString,即主机名、':' 和 URL 的端口。 location.hostname
    是一个包含 URL 域的 USVString。

    阅读:Location - Web APIs

    console.log(window.location.origin);
    console.log( window.location.host );
    console.log( window.location.hostname );

    【讨论】:

    • 这些都不是 OP 想要的。
    • 我找到了这个https://stackoverflow.com/questions/6449340/how-to-get-base-domain-from-the-url-in-javascript
    • 这里没有公认的答案,看起来他们没有找到可靠的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 2017-12-03
    • 2014-06-10
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    相关资源
    最近更新 更多