可通过window.location.hostname获取当前域名,如"example.com";window.location.host返回域名加端口;document.domain可被设置为父域;URL构造函数支持IDN等复杂场景;performance API适用于导航溯源。

如果您需要在HTML5网页中通过JavaScript获取当前网站的域名信息,则可以通过浏览器提供的navigator对象或标准Web API来实现。以下是几种可行的方法:
一、使用window.location.hostname属性
window.location.hostname返回当前URL中的主机名(即域名),不包含端口号和协议,适用于大多数基础域名识别场景。
1、在页面的
2、调用window.location.hostname获取当前域名字符串。
立即学习“前端免费学习笔记(深入)”;
3、将结果赋值给变量或直接输出到控制台进行验证。
4、该属性返回值为纯域名部分,例如"example.com",不包含www前缀或路径信息。
二、使用window.location.host属性
window.location.host返回主机名与端口号的组合,当端口为默认端口(HTTP为80,HTTPS为443)时通常不显示端口号,适合需判断非标准端口部署的情况。
1、在JavaScript环境中声明一个变量用于接收host值。
2、执行let currentHost = window.location.host;
3、检查currentHost是否包含冒号(:)以判断是否存在自定义端口。
4、该属性返回值为域名加端口(如"example.com:8080"或"example.com")。
三、使用document.domain属性
document.domain返回当前文档的域名,初始值为window.location.hostname,但允许在某些条件下被显式设置为更高级别的父域(仅限同源子域间通信),常用于iframe跨域协作。
1、在脚本中读取document.domain的当前值。
2、注意该属性在部分现代浏览器中受限制,仅在特定安全上下文中可写入。
3、若页面未进行过domain设置,则其值与window.location.hostname一致。
4、该属性返回值为可被修改的域名字符串,例如"example.com"。
四、使用URL构造函数解析当前地址
通过new URL(window.location.href)创建URL对象,再访问其hostname属性,提供更结构化、兼容性良好的解析方式,尤其适用于复杂URL处理逻辑。
1、创建URL实例:const url = new URL(window.location.href);
2、从url.hostname属性提取域名。
3、该方法对带端口、IPv6地址、国际化域名(IDN)等均有良好支持。
4、该属性返回值为标准化后的主机名,例如"xn--fsq.xn--0zwm56d"(IDN转义后)。
五、使用performance.getEntriesByType获取导航记录中的域名
利用PerformanceNavigationTiming接口,从性能时间线中提取上一次导航的域名信息,适用于分析用户来源或重定向链路。
1、调用performance.getEntriesByType("navigation")获取导航条目数组。
2、取数组首项(即当前页面导航记录)的name属性。
3、对该name值再次使用new URL()解析并提取hostname。
4、该方式返回值为触发本次页面加载的原始URL所对应的域名。










