通过另一个js文件动态加载js文件?

无论如何,从单个JS文件中加载其他JS文件。 我想指出我的单个页面“ITS”js文件,并且js文件将加载jquery,其他js文件。

我知道我可以把所有这些都放到html中

我正在考虑关注点的分离,所以我想知道是否有任何事情已经存在而没有我重新发明轮子….

我只需要编辑home.js来改变为home.htm加载的其他js(jquery等)… home.htm只会指向home.js

谢谢

您可以查看动态脚本加载 。 这是文章的摘录:

var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'helper.js'; head.appendChild(script); 

对于外部域JS链接

 var loadJs = function(jsPath) { var s = document.createElement('script'); s.setAttribute('type', 'text/javascript'); s.setAttribute('src', jsPath); document.getElementsByTagName('head')[0].appendChild(s); }; loadJs('http://other.com/other.js'); 

对于同一域JS链接(使用jQuery)

 var getScript = function(jsPath, callback) { $.ajax({ dataType:'script', async:false, cache:true, url:jsPath, success:function(response) { if (callback && typeof callback == 'function') callback(); } }); }; getScript('js/other.js', function() { functionFromOther(); }); 

这类似于Darin的解决方案,除了它没有任何变量。

 document.getElementsByTagName('head')[0].appendChild(document.createElement("script")).src = "helper.js"; 

我建议你看看labJS。 它是专门为加载Javascript而创建的库。 正如他们所说的那样……“LABjs的核心目标是成为一个通用的按需JavaScript加载器,能够随时从任何位置加载任何JavaScript资源到任何页面。”

有关更多信息,请参见labJS主页 。

Google提供jQuery等主要javascript库的集中托管版本。 它们可以使用谷歌加载器动态加载。

http://code.google.com/apis/ajaxlibs/documentation/