我正在寻找一种干净的方法来异步加载以下类型的 javascript 文件:一个“核心”js 文件(嗯,我们就叫它吧,哦,我不知道,“jquery!”哈哈),x 个 js依赖于正在加载的“核心”js 文件的文件,以及 y 个其他不相关的 js 文件。我有一些关于如何去做的想法,但不确定最好的方法是什么。我想避免在文档正文中加载脚本。
因此,例如,我希望以下 4 个 javascript 文件异步加载,并适当命名:
/js/my-contact-page-js-functions.js // unrelated/independent script
/js/jquery-1.3.2.min.js // the "core" script
/js/jquery.color.min.js // dependent on jquery being loaded
http://thirdparty.com/js/third-party-tracking-script.js // another unrelated/independent script
但这不起作用,因为不能保证在颜色插件之前加载 jQuery...
(function() {
var a=[
'/js/my-contact-page-functions.js',
'/js/jquery-1.4.2.min.js',
'/js/jquery.color.js',
'http://cdn.thirdparty.com/third-party-tracking-script.js',
],
d=document,
h=d.getElementsByTagName('head')[0],
s,
i,
l=a.length;
for(i=0;i<l;i++){
s=d.createElement('script');
s.type='text/javascript';
s.async=true;
s.src=a[i];
h.appendChild(s);
}
})();
几乎不可能异步加载jquery和颜色插件吗?(因为颜色插件要求首先加载 jQuery。)
我正在考虑的第一种方法是将颜色插件脚本与 jQuery 源合并到一个文件中。
然后我的另一个想法是像这样加载颜色插件:
$(window).ready(function() {
$.getScript("/js/jquery.color.js");
});
有人对你将如何处理这件事有任何想法吗?谢谢!