/** * 修改地址栏参数,不跳转(替换参数或新增参数) * @param {string} name 参数名称 * @param {string} value 参数值 */ export function changeURLStatic(name,value) { var url = location.href var reg = eval('/([\?|&]'+name+'=)[^&]*/gi') var url2='' value = value.toString().replace(/(^\s*)|(\s*$)/g,"") //移除首尾空格 if(!value){ url2 = url.replace(reg , '') //正则替换 }else{ if(url.match(reg)){ url2 = url.replace(reg , '$1' + value) //正则替换 }else{ url2 = url + (url.indexOf('?') > -1 ? '&' : '?') + name + '=' +value //没有参数添加参数 } } history.replaceState(null,null, url2) //替换地址栏 } /** * 获取地址栏参数 * @param {string} name 要获取的参数名 注:获取不到是为null * @param {string} value 参数值 */ export function getQueryString(param) { var currentUrl = window.location.href //获取当前链接 var arr = currentUrl.split("?")//分割域名和参数界限 if (arr.length > 1) { arr = arr[1].split("&")//分割参数 for (var i = 0; i < arr.length; i++) { var tem = arr[i].split("=") //分割参数名和参数内容 if (tem[0] == param) { return tem[1] } } return null } else { return null } }