window.location对象详解

摘要:
id=123&username=xxx通常由于业务需要,前端页面中的某个数据源来源,需要我们去获取URL的某个参数值。这时封装一个输入参数名获取对应参数值的函数是必不可少的,如下所示:functiongetQuery{//正则:[找寻'&'+'url参数名字'='值'+'&']letreg=newRegExp;letr=window.location.search.substr.match;//substr()的参数指定的是子串的开始位置和长度,因此它可以替代substring()和slice()来使用,但是它没有标准化if(r!=null){//对参数值进行解码returnunescape;}returnnull;}//调用方法,注意需要传入String类型的数据,输出结果为String类型getQuery;//'123'不过unescape解码方法已经废除了。

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);//substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用,但是它没有标准化
    if(r != null) {
      //对参数值进行解码
        return unescape(r[2]); 
    }
    return null;
}
//调用方法,注意需要传入String类型的数据,输出结果为String类型
getQuery('id');   //'123'

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

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

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

链接:https://www.jianshu.com/p/c9324d237a8e

免责声明:文章转载自《window.location对象详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇第二章redis数据类型的使用和介绍0508操作系统下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

利用nginx_push_stream_module实现服务器消息推送

NGiNX_HTTP_Push_Module 是一个 Nginx 的扩展模块,它实现了 HTTP Push 和Comet server的功能。HTTP Push 被经常用在网页上主动推的技术,例如一些聊天室啊,更新信息非常频繁的应用场合。 Http Server Push是一种推送技术,服务器主动向浏览器发送数据。  可以参考:http://wiki.n...

JS刷新页面的几种方法

1 history.go(0)2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand(‘Refresh‘) 6 window.navigate(location) 7 location.replace(location) 8 doc...

使用SplitContainer来实现隐藏窗口的部分内容(转)

有两种方法: (1) Splitter:比较老的方法 (2) SplitContainer:比较新的方法 最终界面如下: 方法一:使用Splitter实现 (1) 在窗口中添加一个Panel控件,即Panel1 将其Dock属性设为Right,这样Panel1就停靠在了窗口最右侧; (2) 在窗口中添加一个Splitter控件,即Splitter1 将其...

用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面

用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面 1.什么是跨域以及产生原因   跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。   跨域情况如下: url 说...

js常用代码

1.字符串截取substr(str,length)返回从指定位置开始,截取length长度的子字符串。substring(start,end)返回从start开始到end结束的字符串。end不写就到结尾。区别,前者截取长度,后者截取位置 2.页面跳转window.history.back();返回的是页面的状态,有可能删除的数据依然存在,需要locatio...

location.href使用方法总结

javascript中的location.href有非常多种使用方法,主要例如以下。 self.location.href=”/url” 当前页面打开URL页面 location.href=”/url” 当前页面打开URL页面 windows.location.href=”/url” 当前页面打开URL页面,前面三个使用方法同样。 this.locati...