背景說明:這里要實現的功能是,根據URL中的gameid參數,加載不同的js文件。為了實現這一功能,使用動態導入JS可以完美解決。
(友情提示:本博文章歡迎轉載,但請注明出處:陳新漢,http://www.tkk7.com/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;
}