window.location
表示当前页面的URL
信息。
window.location;
// window 也可以省略
location;
简单认识 URL
先简单对URL
进行认识。
:::info
URL(uniform resource locator)
:统一资源定位器。
:::
用百度的URL
进行举例 🌰:
这是当我去搜索 javascript 时候页面的 URL
https://www.baidu.com/s?tn=39042058_40_oem_dg&ie=utf-8&wd=javascript
https:// 协议
www.baidu.com 域名
:443 端口号,不显示(http 默认是:80,https默认是:443)
/s 具体的文件夹
?tn=39042058_40_oem_dg&ie=utf-8&wd=javascript 请求参数
#hash 哈希值(这里没有用到)
属性
window.location
通过相应的属性可以获得URL
信息
属性 | 说明 |
---|---|
href |
获取整个URL |
protocol |
获取URL 中的协议 |
hostname |
获取URL 中的域名 |
port |
获取URL 中的端口号 |
pathname |
获取URL 中的文件路径 |
search |
获取URL 中的参数 |
hash |
获取URL 中的哈希值 |
以上属性都是可读可写的!!!
window.location.href; // 获取
window.location.href = "https://www.taobao.com"; // 设置
window.location.protocol; // 获取
window.location.protocol = "https://"; // 设置
📌
window.onhashchange
事件可以在URL
中的hash
更改后触发。 用更改hash
更改后不会刷新页面的特性还可以实现单页面应用(SPA:Single-page Application
),简单说就是实际上只有一个页面来模拟多个页面之间的切换。
方法
方法 | 说明 |
---|---|
assign() |
更改URL 地址,一般用window.location.href = "xxx" 代替 |
replace() |
将URL 替换,不会新增历史纪录,调用replace() 后,用户不能回退到前一页参数1:要替换的 url |
reload() |
将URL 重新加载参数: true ,可选,表示强制加载,不会从缓冲中加载页面 |
window.location.assign("https://www.baidu.com");
window.location.replace("https://www.baidu.com");
window.location.reload();
window.location.reload(true);