js 批量获取浏览器参数
2019-07-03 18:10
1026 查看
以前获取浏览器参数是这样的
function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null) return unescape(r[2]); return null; } // 调用方法 alert(GetQueryString("参数名1"));
这种方法适合获取单个的参数,但是当参数一多的时候就会很麻烦,有没有办法将浏览器的参数都放到一个对象里面呢?于是我就写了下面的这个方法
function getParameters() { //获取地址栏参数不包括hash值 var search = decodeURI(location.search);//防止中文乱码 search = search.replace('?', ''); var searray = search.split("&"); var obj = {} searray.map(function (item) { var sarry = item.split('='); obj[sarry[0]] = sarry[1]; }) return obj; } var para=getParameters();
是不是很简单,也很方便
恩,然后第一个获取单个的时候有优势,一个在获取所有的时候有优势,所以能不能整合一下呢?
好的,说干就干,修改下
function getParameters(obj) {//获取地址栏参数不包括hash值 var search = decodeURI(location.search).replace('?', '');//防止中文乱码 if(typeof obj=="string"){ var reg = new RegExp("(^|&)"+ obj +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; }else if(typeof obj=="undefined"){ var searray = search.split("&"); var obj = {} searray.map(function (item) { var sarry = item.split('='); obj[sarry[0]] = sarry[1]; }) return obj; } } // getParameters(); // getParameters('tn');
不满足的你是不是又在想我既不想获取一个也不想获取全部,我就想获取其中的几个呢?
谁让我这么爱你呢,满足你。
所以最终代码变成了这样
function getParameters(obj) {//获取地址栏参数不包括hash值 var search = decodeURI(location.search).replace('?', '');//防止中文乱码 if(typeof obj=="string"){ var reg = new RegExp("(^|&)"+ obj +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; }else if(typeof obj=="undefined"){ var searray = search.split("&"); var obj = {} searray.map(function (item) { var sarry = item.split('='); obj[sarry[0]] = sarry[1]; }) return obj; }else if(obj.constructor ==Array){ var searray = search.split("&"); var fromarray = {} searray.map(function (item) { var sarry = item.split('='); if(obj.indexOf(sarry[0])>-1){ fromarray[sarry[0]] = sarry[1]; } }) return fromarray; } } // getParameters(); // getParameters('tn'); //getParameters(['tn','wd']);
么么哒。
相关文章推荐
- 如何用js获取浏览器URL中查询字符串的参数
- js获取浏览器参数
- js获取浏览器地址栏参数
- js获取浏览器参数方法
- 如何用js获取浏览器URL中查询字符串的参数
- js获取屏幕尺寸及浏览器参数
- 如何用js获取浏览器URL中查询字符串的参数
- 如何用js获取浏览器URL中查询字符串的参数
- javascript浏览器参数的操作,js获取浏览器参数
- Js获取浏览器的高度和宽度等参数
- js 获取浏览器的url中的参数
- js获取浏览器的参数
- 如何用js获取浏览器URL中查询字符串的参数
- 如何在JS代码里获取浏览器地址栏传过来的参数/页面间传值
- JS.jQuery获取浏览器参数
- js未传入event参数时如何获取当前event(多浏览器)
- JS获取浏览器url中的参数
- JS获取浏览器地址参数的封装类
- js获取浏览器参数的方法
- js获取浏览器URL中查询字符串中的参数