location对象
location是最有用的 BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。
location对象是很特别的一个对象,因为它既是 window对象的属性,也是document 对象的属性;换句话说, window.location和 document.location引用的是同一个对象。
location 对象的用处不只表现在它保存着当前文档的信息,还表现在它将URL 解析为独立的片段,让开发人员可以通过不同的属性访问这些片段。
获得URL包含的查询字符串的属性
<script>
function getQueryStringArgs() {
var qs = (location.search.length > 0 ? location.search.substring(1) : "");
args = {};
items = qs.length ? qs.split("&") : [];
item = null;
name = null;
value = null;
i = 0;
len = items.length;
for(i = 0; i < len;i++){
item = items[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if(name.length){
args[name] = value;
}
}
return args;
}
</script>
假设现要将浏览器位置定位为URL为http://www.wrox.com的位置。
方式一:location.assign("http://www.wrox.com");
方式二:window.location =
"http://www.wrox.com";
方式三:location.href = "http://www.wrox.com";//最常用
方式四:修改location对象的属性(hash、search、hostname、pathname和port);
方式五:location.replace("http://www.wrox.com");//这种方式与之前四种的区别是,前面四种方式修改URL之后,浏览器的历史记录中就会生成一条新记录,而replace方法中,改变了浏览器的位置,但是用户不能回到前一个页面。
reload()方法
作用:重新加载当前显示的页面。当不传入任何参数时,如果页面自上次请求以来没有改变过,页面就会从浏览器缓存中重新加载。如果是强制从服务器重新加载,则需要传入参数true。
位于reload()调用之后的代码可能会也可能不会执行,这要取决于网络延迟或系统资源等因素。所以,最好将reload放在代码的最后一行。