首页 > Web开发 > 详细

js的location对象(BOM 2)

时间:2019-08-17 15:14:09      阅读:77      评论:0      收藏:0      [点我收藏+]

location对象

location对象是BOM对象,提供有关当前窗口加载文档的有关信息,和一些导航功能还有可以将URL解析为独立片段。location既是window对象属性,也是document对象属性。window.location和document.location引用同一个对象。

  • URL片段

技术分享图片

通过location.hash可以到url中的hash

  • 查询字符串参数

      function getQueryStringArgs()
      {
          //1.取得查询字符串并去掉开头问号
          var qs=(location.search.length>0?location.search.substring(1):"");
          //保存数据的对象
          var args={};
          //3.取得每一项参数
          var items=qs.length?qs.split("&"):[];
          var item=null;
          var value=null;
          i=0;
          len=items.length;
          //逐个将每一项添加到args对象中
          for(i=0;i<len;i++){
              item=items[i].split("=");
              name=decodeURIComponent(item[0]);
              value=decodeURIComponent(item[1]);
              if(name.length){
                  args[name]=valuel
              }
          }
          return args;
      }
  • 位置操作

    • 打开新的URL并生成新记录,在本页面跳转

      location.assign("https://ellenxx.com");
      //或
      window.location="https://ellenxx.com";
      //或
      location.href="http://ellenxx.com";
    • 改变当前页面

      可以将location的hash,search,hostname和port属性设置为新的值来改变当前页面。

      //初始https://ellenxx.com/blog
      
      //将Url设置为https://ellenxx.com/blog/#s
      location.hash="#s";
      
      //将Url设置为https://ellenxx.com/blog/?page=4
      location.search="?page=4"
      ·······
      
    • 禁止单击“后退“按钮回到前一个页面

      replace()方法:接收一个参数为要导航到的URL,跳转之后不能通过退回回到之前的页面

      setTimeout(function(){
                  location.replace("http://ellenxx.com");
              },1000)
    • 重新加载当前页面

      reload()方法:不传任何参数,最有效的方式重新加载,也就是上次请求没改变过,页面就从缓存里加载;传入true,就要强制从服务器重新加载。

      location.reload();//重新加载(有可能从缓存中加载)
      location.reload(true);//重新加载(从服务器加载)

js的location对象(BOM 2)

原文:https://www.cnblogs.com/ellen-mylife/p/11368567.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!