window.location.hostname
属性返回当前页面的主机名,即 URL 中的域名部分。它不包括协议(如 http://
或 https://
)、端口号、路径、查询字符串或哈希部分。
基本语法:
let hostname = window.location.hostname;
返回值:
- 字符串:返回当前 URL 中的主机名部分(即域名),不包括协议和端口号。
示例:
假设当前页面的 URL 为:
https://www.example.com:8080/path?name=JohnDoe#section1
console.log(window.location.hostname);
// 输出: "www.example.com"
如果页面的 URL 中没有端口号(例如默认的 80 或 443),返回值仍然是域名部分:
https://www.example.com/path
console.log(window.location.hostname);
// 输出: "www.example.com"
与其他 window.location
属性的对比:
window.location.host
:返回主机名和端口号(如果存在),例如www.example.com:8080
。window.location.port
:仅返回端口号(如果存在),如果没有指定端口,则返回空字符串""
。window.location.origin
:返回协议、主机名和端口(如果有),例如https://www.example.com:8080
。
用途:
- 获取当前页面的域名:当需要动态获取当前页面的域名时,
window.location.hostname
可以提供该信息。 - 构建绝对 URL:如果你需要根据当前页面的域名构建新的 URL,可以使用
hostname
。
示例:构建动态的 API 请求 URL
假设你需要根据当前页面的域名生成一个 API 请求的 URL:
let hostname = window.location.hostname; // "www.example.com"
let apiUrl = `https://${hostname}/api/v1/resource`;
console.log(apiUrl); // 输出: "https://www.example.com/api/v1/resource"
总结:
window.location.hostname
返回当前页面的域名部分,不包含协议和端口号。- 它可以用于动态构建 URL 或获取当前页面的主机信息,尤其在处理跨站请求或生成与当前站点相关的 URL 时非常有用。
如果你有更具体的需求,或者想了解如何在实际项目中应用该属性,随时告诉我!
发表回复