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()执行的操作不同。