封装一个函数获取URL中的GET参数
需要支持锚点链接例如:http://localhost:8080/#/chatApp?ent_id=5
具体来说
var query = window.location.search.substring(1); var hash = window.location.hash.substring(1);
获取到URL在的参数
使用substring
方法获取到URL中的查询字符串(即从"?"开始的部分)。然后使用split
方法将查询字符串拆分成一个键值对数组。接着,使用map
方法遍历这个数组,并将每一个键值对添加到一个对象中。最后,使用typeof
语句判断传入的参数在这个对象中是否存在,如果存在则返回该参数的值,否则返回空字符串。
function getQuery(key) { // 获取所有参数 var query = window.location.search.substring(1); var hash = window.location.hash.substring(1); // 如果锚点后面有参数,把锚点后面的参数加入到search参数中 if(hash.indexOf("?") > -1){ query += "&" + hash.split("?")[1]; } var key_values = query.split("&"); var params = {}; // 遍历参数并存入params对象 key_values.map(function (key_val){ var key_val_arr = key_val.split("="); params[key_val_arr[0]] = key_val_arr[1]; }); // 如果找到了key对应的参数,返回对应值 if(typeof params[key]!="undefined"){ return params[key]; } // 如果没找到,返回空字符串 return ""; }
标签:vue,hash,val,单页,substring,URL,参数,key,var From: https://www.cnblogs.com/taoshihan/p/17062298.html