背景说明:这里要实现的功能是,根据URL中的gameid参数,加载不同的js文件。为了实现这一功能,使用动态导入JS可以完美解决。
(友情提示:本博文章欢迎转载,但请注明出处:陈新汉,http://www.blogjava.net/hankchen)
/*
*动态导入JS文件
**/
function jsImport(path) {
var i;
var ss = document.getElementsByTagName("script");
for (i = 0; i < ss.length; i++) {
if (ss[i].src && ss[i].src.indexOf(path) != -1) {
return;
}
}
var s = document.createElement("script");
s.type = "text/javascript";
s.src = path;
var head = document.getElementsByTagName("head")[0];
head.appendChild(s);
}
使用方法:
jsImport("ranklist/"+getGameID()+"/winratiorank.js");
jsImport("ranklist/"+getGameID()+"/wintimesrank.js");
其中,getGameID()的源码如下:
function getGameID(){
if(gameid && gameid!=null){
return gameid;
}
urlparams=GetRequestParams();
gameid=urlparams.gameid;
//alert(gameid);
return gameid;
}
/* 功能:获取url参数中?后面的参数及其值
**/
function GetRequestParams() {
var url = location.search;
var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
var params = new Object();
for (i = 0; j = paraString[i]; i++) {
params[j.substring(0, j.indexOf("=")).toLowerCase()] = decodeURI(j.substring(j.indexOf("=") + 1, j.length));
}
return params;
}