javascript深入之location对象和history对象

  1. 浏览器的location 和history对象:
  2. 一、location对象:
  3. 1>location.reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。 从web服务器上再次装入当前显示的页面。
  4. 2>location.replace(url) 打开一个 URL,并替换浏览器历史列表中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的“后退”键将不能返回到刚才的页面。
  5. demo:
  6. <body >
  7. <span id=”myspan”>fdasfdasdfasfdasfda</span>
  8. <script>
  9. var s=document.getElementById(“myspan”);
  10. s.onclick=function(){
  11.     location.reload(“http://www.baidu.com”);
  12. };
  13. </script>
  14. </body>
  15. 使用reload方法时,后退按钮可以点击,而使用replace()方法时,后退按钮为灰色,不可点击;
  16. a)解析URL的参数,生成json对象。
  17. var getURLParamsObj=function(url){
  18.     var n=url.indexOf(“?”),
  19.         parse = url.substring(n+1),
  20.         arr = parse.split(“&”),
  21.         obj={};
  22.     for(var i=0,len=arr.length; i<len; i++){
  23.         var a = arr[i],name,value,
  24.             pos = a.indexOf(“=”);
  25.         if(pos == -1){
  26.             continue;
  27.         }
  28.         name = a.substring(0,pos);
  29.         value = a.substring(pos+1);
  30.         obj[name]= decodeURIComponent(value);
  31.     }
  32.     return obj;
  33. }
  34. b)window.location与document.location的不同:
  35. 1>window.location是一个对象,而document.location只是一个字符串和document.url同义。
  36. 2>大多数情况下,document.location和location.href是相同的,但是当存在服务器重定向时,document.location表示的是已装载的URL,而location.href是原始请求文档的URL
  37. 二、history对象:
  38. window.history 即history是window对象的一个属性
  39. a)支持三种方法:
  40. back(),forward(),go();
  41. b)基于Mozilla浏览器也支持window.back()和window.forward(),和后退,前进两个按钮功能相同,但是当使用帧的时候,window.back()和history.back()执行的操作不同。

标签