window.location.href 是获取当前页面完整 url 的最常用且推荐方式,返回包含协议、域名、路径、查询参数和哈希的绝对 url 字符串,兼容所有现代浏览器及 ie6+,语义明确、开箱即用。

直接使用 window.location.href 就能获取当前页面的完整 URL(包括协议、域名、路径、查询参数和哈希)。
最常用且推荐的方式:window.location.href
这是最简洁、兼容性最好、语义最明确的方法:
- href 是 Location 对象的一个只读属性,返回完整的绝对 URL 字符串
- 支持所有现代浏览器及 IE6+
- 无需额外解析,开箱即用
示例:
console.log(window.location.href);<br>// 输出类似:https://example.com/path/?q=test#section1
其他 location 属性可用于拼接(不推荐手动拼)
虽然 window.location 还提供多个细分属性(如 protocol、host、pathname 等),但手动拼接容易出错,且忽略编码/转义逻辑:
- location.protocol → "https:"
- location.host → "example.com"
- location.pathname → "/path/"
- location.search → "?q=test"
- location.hash → "#section1"
除非有特殊需求(如只取某一部分),否则不要用这些属性拼 URL —— href 已经包含全部且格式规范。
注意:location.toString() 效果等同 href
window.location.toString() 也会返回完整 URL,因为 Location 对象的 toString() 方法内部就返回 href 值:
- 行为与
window.location.href完全一致 - 写法稍长,语义不如
href直观 - 无实际优势,建议优先用
href
避免使用 document.URL(不推荐)
document.URL 虽然也能读取当前 URL,但它属于 Document 接口,存在潜在问题:
- 在某些场景下(如 iframe 或页面被重定向后)可能不同步或滞后
- 规范中已标记为“历史遗留”,推荐优先使用
window.location.href - MDN 明确建议:使用
location.href替代document.URL
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











