var getArgs = function(){ var sc=document.getElementsByTagName('script'); var paramsArr=sc[sc.length-1].src.split('?')[1].split('&'); var argsStr=[],param,t,name,value; for(var i=0,len=paramsArr.length;i<len;i++){ param=paramsArr[i].split('='); name=param[0],value=param[1]; if(typeof args[name]=="undefined"){ //参数尚不存在 args[name]=value; }else if(typeof args[name]=="string"){ //参数已经存在则保存为数组 args[name]=[args[name]] args[name].push(value); }else{ //已经是数组的 args[name].push(value); } } /*在实际应用中下面的showArg 和args.toString可以删掉,这里只是为了测试函数getArgs返回的内容*/ var showArg=function(x){ //转换不同数据的显示方式 if(typeof(x)=="string"&&!/\d+/.test(x)) return "'"+x+"'"; //字符串 if(x instanceof Array) return "["+x+"]" //数组 return x; //数字 } //组装成json格式 args.toString=function(){ for(var i in args) argsStr.push(i+':'+showArg(args[i])); return '{'+argsStr.join(',')+'}'; } return function(){return args;} //以json格式返回获取的所有参数 }
args = getArgs();
// 获取参数 var parentEl = isUndefined(args["parentEl"]); var _defaultUnitId = isUndefined(args["defaultUnitId"]); var _isTop = isUndefined(args["isTop"]); var _bizTypeKey = isUndefined(args["bizTypeKey"]); var _actionBtnId = isUndefined(args["actionBtnId"]); var _chooseRoot = isUndefined(args["chooseRoot"]); var _bizUnitId = isUndefined(args["bizUnitId"]); var _bizUnitTitle = isUndefined(args["bizUnitTitle"]);