javascript - JS:获取顶级域名
问题描述
我正在寻找一种从网站获取顶级域的方法。例如。
- 从www.google.com => 返回
google.com
- 从 subsite.site.com => 返回
site.com
- 从 subsite.site.co.uk => 返回
site.co.uk
作为基础,我可以使用document.domain
或location.hostname
但它没有获得顶级域。我需要它来构建一个在整个域上稳定的 cookie。
我们今天发现的最好的:
var t = document.domain.split(".");
if (t.length > 2) {
domain_name = t.slice(1).join(".");
}
ia 如果域有超过 2 个部分,则删除第一部分。看起来还不错,但我没那么自信。
有没有更好的办法?
解决方案
window.location.origin
Location 接口的 origin 只读属性是一个 USVString,其中包含所表示 URL 的来源的 Unicode 序列化。
location.host
是一个包含主机的 USVString,即主机名、':' 和 URL 的端口。
location.hostname
是一个包含 URL 域的 USVString。
console.log(window.location.origin);
console.log( window.location.host );
console.log( window.location.hostname );
推荐阅读
- c# - Unity VideoPlayer 设置框架在 Windows 上不起作用
- python - 理解 R 函数并在 Python 3 中找到它的等价物
- android - 如何从另一个活动中调用 showAd()
- php - 提交后,Wordpress HTML 表单无法正确重定向
- c# - 如何使用 C# 访问嵌套在 JSON 响应中的两级数组中的值?
- sql-server - 将带有 ' 的字段值转换为带有单引号的文本字符串
- powershell - 从查询结果中获取电子邮件后,如何发送到多个电子邮件?
- python - 如何通过 tesseract -ocr 进行预处理以提高 dpi 的可读性
- python - 如何通过 google drive ocr 从图像中获取文本
- python - 如何测试从头开始编写的逻辑回归代码?