window.location表示当前页面的URL信息。
window.location;// window 也可以省略location;
简单认识 URL
先简单对URL进行认识。
:::info
URL(uniform resource locator):统一资源定位器。
:::
用百度的URL进行举例 🌰:
这是当我去搜索 javascript 时候页面的 URLhttps://www.baidu.com/s?tn=39042058_40_oem_dg&ie=utf-8&wd=javascripthttps:// 协议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);
