背景说明:这里要实现的功能是,根据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;
}