获取为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   荣锋亮  阅读(838)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示