可通过 window.location.protocol 获取协议(如“https:”),需手动拼接“//”;通过 location.hostname 获取不带端口的主机名(如“example.com”);二者组合可构建基础url,如 location.protocol + "//" + location.hostname。

可以通过 window.location 对象获取当前页面的协议和主机名,这是 BOM(Browser Object Model)中最直接、最常用的方式。
使用 location.protocol 获取协议
该属性返回当前 URL 的协议部分,末尾带英文冒号和双斜杠(如 "https:" 或 "http:")。注意它不包含后续的 //,但标准写法中协议后本就应跟 ://,所以拼接时需手动补上。
-
location.protocol返回值示例:"https:"、"http:"、"file:" - 若需完整协议+分隔符,可写作:
location.protocol + "//"
使用 location.hostname 获取主机名
该属性返回不带端口的纯主机名(domain),例如 "example.com" 或 "localhost"。它不包含协议、路径、查询参数,也不含端口号(即使 URL 中有)。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
- 对于
https://admin.example.com:8080/path?x=1,hostname返回"admin.example.com" - 若需包含端口,应改用
location.host(返回"admin.example.com:8080")
组合使用获取完整基础地址
协议 + 主机名是构建绝对 URL 基础路径的关键部分。常见组合方式如下:
-
location.protocol + "//" + location.hostname→"https://example.com" - 如需支持端口(开发环境常用),可用:
location.protocol + "//" + location.host - 注意:若页面通过
file://打开,hostname为空字符串,host也为空,此时不宜用于构造网络请求
其他相关属性参考
除 protocol 和 hostname 外,location 还提供多个实用属性,便于全面解析当前地址:
-
location.href:完整 URL 字符串 -
location.origin:协议+主机名+端口(如"https://example.com:443"),现代浏览器广泛支持,更简洁安全 -
location.port:端口号(显式指定时返回,如"8080";默认端口如 http 的 80、https 的 443 则返回空字符串)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










