打开 ble borde 原来 信息 while protoc 强制
一、location 对象提供和当前加载的文档相关的信息还有一些导航功能。location 对象是 window 对象的属性,同时也是 document 对象的属性。window.location 和 document.location 指向同一个对象。
location 对象不仅保存着当前文档的信息,还可以将 URL 解析为独立的字段,可以通过不同的属性访问这些片段。
location 的所有属性如下
属性名 | 例子 | 说明 |
hash | #contents | 返回 URL 中的 hash(# 号后跟 0 个或多个字符) |
host | localhost:8080 | 返回服务器名称和端口号 |
hostname | localhost | 返回服务器名称 |
href | http://www.baidu.com | 返回当前加载页面的完整 URL |
pathname | /TyspV4D/ | 返回当前 URL 的目录 |
port | 8080 | 返回 URL 中指定的端口号 |
protocol | http | 返回 URL 中使用的协议 |
search | ?q=javascript | 返回 URL 中的查询字符串 |
1、查询字符串参数
location.search() 可以返回从?到 URL 末尾的所有字符串,但没有办法逐个访问其中查询字符串的参数。为此可以创建下面的函数:
- function queryStringParam()
- {
- var qs=(location.search.length>0?location.search.substring(1):"");
- args={};
- items=qs.length?qs.spilt("&"):[];//spilt函数是将字符串用特定的符号分开,返回一个数组,这儿返回的是字符串数组
- item=null;
- name=null;
- value=null;
- i=0;
- while(i<items.length)
- {
- item=items[i].spilt("=");//在这儿是用"="将字符串的键和值分离
- name=decodeURLComponent(item[0]);//解码
- value=decodeURLComponent(item[1]);
- if(name.length)
- {
- args[name]=value;
- }
- }
- return args;
- }
2、网址操作
location 可以使用很多方式改变浏览器打开的网址,即改变打开的 URL 值。
首先,最常用的方法时用 location 调用 assgin 函数并为其传递一个 URL 参数。
- location.assign("http://www.baidu.com");
使用上面的方法会在历史记录生成一条记录。如果是以 window.location="http://www.baidu.com" 和 location.href="http://www.baidu.com" 也会调用 assgin 方法。
location.href 是最常用的方法。
修改 location 对象的其他属性也可以改变当前页的 URL。
除了修改 hash 属性外修改其他属性页面都会重新加载
通过上面这些方式修改 URL 之后都会在历史记录中生成一条新纪录,这样也就可以通过返回键返回上一页面。那么要是不想使用返回键,就可以使用 replace 方法,该方法只接受一个 URL 参数,然后转到该 URL 页面
- setTimeout(function(){
- location.replace("http://www.google.com");
- },5000);
在上面的代码中,5s 之后就会转到 google 主页,并且不能返回到原来页面,历史记录中也没有生成上一页面。
reload 函数如果不接受参数,则是以最节省资源的方式重新加载页面,这样就有可能从浏览器缓存中加载
如果要强制从服务器加载的话就要传递参数 true。
reload()// 从浏览器加载
reload(true)// 从服务器加载
javascript 之 BOM 对象 (二 location 对象)
来源: http://www.bubuko.com/infodetail-2281769.html