目录
概述
location 是最有用的 BOM 对象之一,提供了当前窗口中加载文档的信息,以及通常的导航功能。主要是对浏览器url地址相关数据的获取和定义
URL介绍
是对互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址。URL它具有全球唯一性,正确的URL应该是可以通过浏览器打开此网页的,但如果您访问外网,会提示网页无法打开,这并不能说明这个URL是错误的。只不过在国内不能访问而已
URL由三部分组成:资源类型、存放资源的主机域名、资源文件名
location常用属性
- location.href: 返回当前页面的完整的URL地址
- location.search: 返回URL后面的参数(类似于"?name=lc&age=20")
- location.protocol: 返回页面使用的协议(通常是"http:“或"https:”);
- location.host: 返回页面的域名及端口号;
- location.hostname: 返回页面的域名;
- location.port: 返回页面的端口号;
- location.pathname: 返回页面中的路径或文件名;
- location.origin: 返回URL源地址;
- location.hash: 返回URL 散列值(#后面的内容),如果没有则为空字符串
其中用的最多的就是location.href 和 location.search
location.href的用法
location.href不只可以查看,也可以通过修改href来是实现页面的跳转
//点击按钮之后跳转到其他的页面
<input type="button" name="" id="" value="打开1_2.html" onclick="doThis()"/>
<script type="text/javascript">
// 定义一个函数用来点击按钮之后跳转页面
function doThis(){
// 跳转到百度页面(即修改href)
location.href = "https://www.baidu.com"
}
</script>
location常用方法
- location.assign(url): 跳转到url,浏览器会记录历史(可以后退);
- location.replace(url): 跳转到url,浏览器不会记录历史(不可以后退);
- location.reload(boolean): 重新加载当前显示的页面,不传参数,页面会以最有效的方式重新加载。也就是说,如果页面自上次请求以来没有修改过,浏览器可能会从缓存中加载页面。如果想强制从服务器重新加载,可以给 reload()传个 true
location.assign()
//跳转到bilibili
location.assign("https://www.bilibili.com");
location.replace()
//跳转到bilibili(不可返回)
location.assign("https://www.bilibili.com");
location.reload()
// 正常重新加载
location.reload();
// 强制从服务器重新加载
location.reload(true);