获取为JS文件传递的参数

var getArgs=(function(){  

    var sc=document.getElementsByTagName('script');  

    var paramsArr=sc[sc.length-1].src.split('?')[1].split('&');  

   var args={},argsStr=[],param,t,name,value;  

    for(var ii=0,len=paramsArr.length;ii<len;ii++){  

            param=paramsArr[ii].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 ii in args) argsStr.push(ii+':'+showArg(args[ii]));  

        return '{'+argsStr.join(',')+'}';  

    }  

    return function(){return args;} //以json格式返回获取的所有参数  

})();  

  

alert(getArgs());  

alert("username:"+getArgs()["username"]);  

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

  <title> new document </title>  

  <meta name="generator" content="editplus" />  

  <meta name="author" content="" />  

  <meta name="keywords" content="" />  

  <meta name="description" content="" />  

  <mce:script type="text/javascript" src="test.js?id=4&username=yemoo&id=1&uid=110" mce_src="test.js?id=4&username=yemoo&id=1&uid=110"></mce:script>  

  <mce:script type="text/javascript" src="test.js?id=5&username=ajaxbbs&id=7&uid=253" mce_src="test.js?id=5&username=ajaxbbs&id=7&uid=253"></mce:script>  

  <mce:script type="text/javascript" src="test.js?id=6&username=jack&id=8&uid=258" mce_src="test.js?id=6&username=jack&id=8&uid=258"></mce:script>  

</head>  

<body>  

</body>  

</html>  

posted on 2013-12-27 16:37  荣锋亮  阅读(835)  评论(0编辑  收藏  举报

导航