这份 window.location 备忘单,让你更有条理解决地址路径问题!
window.location 属性
window.location | 返回值 |
---|---|
.origin | 站点主地址(协议 + 主机名 + 端口) |
.protocol | 协议架构 (http: 或者 htts:) |
.host | 域名 + 端口 |
.port | 端口 |
.pathname | 最前页的 ‘/‘ 后面跟的路径 |
.search | ? 后跟的查询字符串 |
.hash | 从 # 号开始的部分 |
.href | 完整网址 |
window.location.origin → '"https://shixiseng.com'
.protocol → 'https:'
.host → 'shixiseng.com'
.hostname → 'shixiseng.com'
.port → ''
.pathname → '/search'
.search → '?q=1111'
.hash → '#1111'
.href → 'https://shixiseng.com/tc?q=1111#1111'
host 和 hostname 的区别
window.location.host; // 'shixiseng.com:8844'
window.location.hostname; // 'shixiseng.com'
window.location.port; // '8844'
window.location 方法
.assign() | 加载一个新的文档 |
---|---|
.replace() | 用新的文档替换当前文档 |
.reload() | 重新加载当前页面 |
replace vs assign vs href
assign 是将当前页面保存在历史记录中,因此用户可以使用“后退”按钮导航到该页面。 而使用replace方法时,不会保存它,三个可以重定向,区别在于浏览器的历史记录。 href和assign 会把当前页面保存在历史记录中,而replace则不会。 因此,如果你想创建一种导航无法回到原始页面的体验,请使用replace。