Monthly Archives: 十二月 2008

如何动态加载JS文件

今天在群里,看有人提到动态加载JS的问题,便整理如下: function loadJs(jsFile){ if (!jsFile) return; var oHead = document.getElementsByTagName(‘HEAD’)[0]; var oScript = document.createElement(‘script’); oScript.type = “text/javascript”; oScript.src = jsFile; oHead.appendChild(oScript); } 上面的代码初步地完成了一个JS文件的加载过程,调用”loadJs(指定的js文件名);”就可以加载指定的JS了。 但还不够完善,为了避免重复加载,需要进行一点小小的改动: function loadJs(jsFile){ if (!jsFile) return; var oScripts = document.getElementsByTagName(‘script’); for (var i=0; i<oScripts.length; i++){ if (oScripts[i].src.indexOf(jsFile) > -1) return; } var oHead = document.getElementsByTagName(‘HEAD’)[0]; var oScript = document.createElement(‘script’); oScript.type = “text/javascript”; [...]