文章目录

    • 1.window.location
      • 当前URL
      • 协议
      • 域名 + 端口
      • 域名
      • 端口
      • 路径部分
      • 请求的参数
      • 获取’?'前边的URL
      • 获取#之后的内容
    • 2.vue-router 获取参数
      • this.$route
      • this.$route.fullPath
      • this.$route.hash
      • this.$route.matched
      • this.$route.meta
      • this.$route.params
      • this.$route.query

1.window.location

实例:http://www.myurl.com:8866/test?id=123&username=xxx

当前URL

window.location.href
结果: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

备注:获取参数

// var url="www.baidu.com?a=1&b=2&C=3";//测试地址
/*
 * 分析:最前面是?或&,紧跟着除 ?&#以外的字符若干
 * 然后再等号,最后再跟着除 ?&#以外的字符
 * 并且要分组捕获到【除?&#以外的字符】
 */
var reg=/[?&]([^?&#]+)=([^?&#]+)/g;
var param={};
var ret =  reg.exec(url);
while(ret){ // 当ret为null时表示已经匹配到最后了,直接跳出
	param[ret[1]]=ret[2];
	ret = reg.exec(url);
}
console.log(param)

获取’?'前边的URL

window.location.origin()
结果:http://www.myurl.com:8866

获取#之后的内容

window.location.hash
结果:null

2.vue-router 获取参数

this.$route

this.$route.fullPath

this.$route.hash

this.$route.matched

this.$route.meta

this.$route.params

this.$route.query

发表回复