window.location对象详解

window.location 对象不仅可以获得当前页面的地址 (URL),还能够将浏览器重定向到新的页面。

在谷歌中搜索关键词"google",打开chrome的调试工具,在Console一栏中输入window.location,出现如下图所示(包含location的多个属性):

window.location

接下来以http://www.myurl.com:8866/test?id=123&username=xxx作为栗子,介绍一下location的常用属性:

window.location.href(当前URL)

结果如下:
http://www.myurl.com:8866/test?id=123&username=xxx

window.location.protocol(协议)

结果如下:
http:

window.location.host(域名 + 端口)

结果如下:
www.myurl.com:8866

window.location.hostname(域名)

结果如下:
www.myurl.com

window.location.port(端口)

结果如下:
8866

window.location.pathname(路径部分)

结果如下:
/test

window.location.search(请求的参数)

结果如下:
?id=123&username=xxx

通常由于业务需要,前端页面中的某个数据源来源,需要我们去获取URL的某个参数值。这时封装一个输入参数名获取对应参数值的函数是必不可少的,如下所示:

function getQuery(name) {
  // 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)
    let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    let r = window.location.search.substr(1).match(reg);
    if(r != null) {
      // 对参数值进行解码
        return unescape(r[2]); 
    }
    return null;
}

// 调用方法,注意需要传入String类型的数据,输出结果为String类型
getQuery('id');   // '123'

window.location.origin('?'前边的URL)

结果如下:
http://www.myurl.com:8866

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,725评论 19 139
  • 本博客转自:「作者:若愚链接:https://zhuanlan.zhihu.com/p/22361337来源:知乎...
    韩宝亿阅读 7,741评论 0 3
  • 央视开年节目《中国诗词大会》,成为2017年的第一个爆款电视节目。小才女武亦姝折桂,引发文学界、教育界的现象级讨论...
    一只油瓶阅读 4,993评论 12 11
  • 从做软件一直为了生计奔波,到目前至少工资能满足家庭开支,所以说目前我应该考虑的重心应该转移一下,不要每天关注房产信...
    钱多多_6dea阅读 2,206评论 0 0
  • 如果半年前,你问我学习理财规划的原因,我一定会告诉你的答案是:1、我想尝试做一名理财规划师,可以收费的理财规划师;...
    波罗小师妹阅读 3,987评论 5 6