获取为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:///TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http:///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>