Я ищу чистый способ асинхронной загрузки следующих типов файлов javascript: js-файл «core» (хмм, давайте просто назовем его, о, я не знаю, «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',
<b>'/js/jquery-1.4.2.min.js',
'/js/jquery.color.js',</b>
'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");
});
У кого-нибудь есть мысли о том, как бы вы поступили по этому поводу? Спасибо!