javascript深入之location对象和history对象

浏览器的location 和history对象:
一、location对象:
1>location.reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。 从web服务器上再次装入当前显示的页面。
2>location.replace(url) 打开一个 URL,并替换浏览器历史列表中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的“后退”键将不能返回到刚才的页面。 
demo:
<body >
<span id="myspan">fdasfdasdfasfdasfda</span>
<script>
var s=document.getElementById("myspan");
s.onclick=function(){
	location.reload("http://www.baidu.com");
};
</script>
</body>
使用reload方法时,后退按钮可以点击,而使用replace()方法时,后退按钮为灰色,不可点击;
a)解析URL的参数,生成json对象。
var getURLParamsObj=function(url){
    var n=url.indexOf("?"),
		parse = url.substring(n+1),
		arr = parse.split("&"),
		obj={};
	for(var i=0,len=arr.length; i<len; i++){
		var a = arr[i],name,value,
			pos = a.indexOf("=");
		if(pos == -1){
			continue;
		}
		name = a.substring(0,pos);
		value = a.substring(pos+1);
		obj[name]= decodeURIComponent(value);
	}
	return obj;
}

b)window.location与document.location的不同:
1>window.location是一个对象,而document.location只是一个字符串和document.url同义。
2>大多数情况下,document.location和location.href是相同的,但是当存在服务器重定向时,document.location表示的是已装载的URL,而location.href是原始请求文档的URL

二、history对象:
window.history 即history是window对象的一个属性
a)支持三种方法:
back(),forward(),go();
b)基于Mozilla浏览器也支持window.back()和window.forward(),和后退,前进两个按钮功能相同,但是当使用帧的时候,window.back()和history.back()执行的操作不同。


原文地址:https://www.cnblogs.com/jiangu66/p/3155318.html