经验不在于年限,在于积累---专注互联网软件开发

把工作当事业做,把项目当作品做!

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  55 Posts :: 0 Stories :: 66 Comments :: 0 Trackbacks

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



posted on 2009-10-20 17:42 hankchen 阅读(2600) 评论(2)  编辑  收藏 所属分类: JS+jQuery

Feedback

# re: 动态导入JS文件 2012-03-15 11:39 veveer
jquery中有封装,直接调用现成的方法就行了  回复  更多评论
  

# re: 动态导入JS文件 2013-05-13 17:22 124
4254757  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: