window.location对象

梦里梦外; 2022-12-24 09:53 282阅读 0赞

window.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的某个参数值。这时封装一个输入参数名获取对应参数值的函数是必不可少的,如下所示:

复制代码

  1. function getQuery(name) {
  2. // 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)
  3. let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
  4. let r = window.location.search.substr(1).match(reg);//substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用,但是它没有标准化
  5. if(r != null) {
  6. // 对参数值进行解码
  7. return unescape(r[2]);
  8. }
  9. return null;
  10. }
  11. // 调用方法,注意需要传入String类型的数据,输出结果为String类型
  12. getQuery('id'); // '123'

复制代码

不过unescape解码方法已经废除了。注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

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

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

发表评论

表情:
评论列表 (有 0 条评论,282人围观)

还没有评论,来说两句吧...

相关阅读

    相关 对象

    1.删除属性 delete mrDeng.sex 当访问对象里面没有的属性值时,不报错,会显示undefined。 2.对象的创建方法: var obj = \{\