a.html文件:引用a.js文件,并传递参数"type=2"和"key=3",eg:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="a.js?type=2&key=3" type="text/javascript"></script>
</head>
<body>
</body>
</html>
在js文件中获取传递的参数:
方法一:a.js文件:
function getParam() {
var js = document.getElementsByTagName("script");
//得到当前引用a.js一行的script,并把src用'?'分隔成数组
var arraytemp = js[js.length - 1].src.split('?');
var obj = new Object();
//如果不带参数,则不执行下面的代码
if (arraytemp.length > 1) {
var params = arraytemp[1].split('&');
for (var i = 0; i < params.length; i++) {
var parm = params[i].split("=");
//将key和value定义给obj
obj[parm[0]] = parm[1];
// alert(parm[0] + "=" + parm[1]);
}
}
return obj;
}
var paramObj = getParam();
alert(paramObj['type']);//输出'2'
方法二:a.js文件:
function getParam() {
var js = document.getElementsByTagName("script");
var obj = new Object();
for (var i = 0; i < js.length; i++) {
//遍历引用的script,找到引用a.js一行的script
if (js[i].src.indexOf("a.js") >= 0) {
//把src用'?'分隔成数组
var arraytemp = js[i].src.split('?');
//如果不带参数,则不执行下面的代码
if (arraytemp.length > 1) {
var params = arraytemp[1].split('&');
for (var i = 0; i < params.length; i++) {
var parm = params[i].split("=");
//将key和value定义给obj
obj[parm[0]] = parm[1];
// alert(parm[0] + "=" + parm[1]);
}
}
}
}
return obj;
}
var paramObj = getParam();
alert(paramObj['key']);//输出'3'