当然!下面是对 window.location.href 的详细介绍与常见用法,适用于前端开发、跳转控制、路由分析等场景。


🔍 window.location.href 的介绍与使用


📌 一、什么是 window.location.href

window.location.href 是 JavaScript 中用于获取或设置当前文档的 URL(即浏览器地址栏的链接)的属性。

它是 window.location 对象中的一个属性,等价于 location.href,可以用于:

  • 获取当前页面 URL
  • 跳转到新的 URL(即页面重定向)
  • 构造跳转逻辑或动态加载

📘 二、基本语法

// 获取当前页面的完整 URL
var url = window.location.href;

// 设置一个新地址,页面会跳转
window.location.href = "https://www.example.com";

🧩 三、使用场景详解

✅ 1. 获取当前页面地址

console.log(window.location.href);
// 输出示例:https://example.com/page?user=123

✅ 2. 跳转到新的页面(重定向)

window.location.href = "https://www.baidu.com";

效果:立即跳转到百度主页,相当于点击了一个链接。


✅ 3. 基于条件跳转

if (!loggedIn) {
    window.location.href = "/login.html";
}

用于用户未登录时跳转到登录页面。


✅ 4. 带参数跳转(GET 请求模拟)

var userId = 42;
window.location.href = "/profile.html?id=" + userId;

🧪 四、与其他 location 属性的区别

属性说明示例
location.href当前完整地址(可读写)https://www.example.com/index.html
location.hostname主机名www.example.com
location.pathname路径部分/index.html
location.search查询字符串?id=123
location.hash哈希锚点#section1
location.port端口号8080
location.protocol协议https:

🚀 五、跳转与替换的对比

方法说明是否保留历史记录
location.href = url跳转到新页面✅ 会保留历史记录,可返回
location.assign(url)功能同上✅ 会保留
location.replace(url)替换当前页面❌ 不可回退

示例:

// 不可后退跳转
location.replace("https://example.com/logout.html");

⚠️ 六、注意事项

  • window.location.href 设置新值后,浏览器会 刷新页面并跳转,会中断当前脚本执行。
  • 出于安全性考虑,浏览器可能限制某些跨域跳转(例如某些 iframe 场景)。
  • 使用前应考虑是否需要在前端或后端进行 URL 构造和安全校验。

🧠 七、实际应用示例

示例:构建一个跳转按钮

<button onclick="goToDocs()">跳转到文档</button>

<script>
function goToDocs() {
    window.location.href = "https://docs.example.com";
}
</script>

📚 参考资料