Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Не подключаются нужные файлы из массива. |
Автор: Kotakota 3.8.2011, 12:04 | ||||||
Привет всем! Уже который день ломаю голову над следующей задачей.
Этот код должен ПОСЛЕДОВАТЕЛЬНО (как раз то, чего он почему то не делает!), обрабатывать каждый массив объектов и динамически подключать файлы из него. На действие onload каждого файла, вешается событие, которое повторно запускает функцию обработки массива для подключения следующих файлов. Если файлов в массиве больше нет, то вызывается callback. Запустим этот скрипт, получаем:
Видим, что файлы подключились не последовательно, как должны были, а как попало! Некоторые, например 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', вообще не подключились! Кроме того, выполнился всего один callback - alert('All second callback loaded '); А теперь что меня больше всего удивило в этом!!! Немного изменим код, добавим alert:
Запускаем! Что мы видим: <body> <script src="loadScripts.js" type="text/javascript"> <script src="test2.js"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> <script src="test1.js"> <script src="test3.js"> <script src="test4.js"> </body> Все запустилось отлично и все callback выполнились! А теперь вопрос знатокам! Почему так произошло и alert сыграл такую существенную роль? Может необходима задержка перед подключением скриптов? Или другие варианты? |
Автор: нуп 3.8.2011, 14:06 |
Я использую headJS для подгрузки скриптов. http://y3x.ru/2011/04/resource-loaders/ |
Автор: Kotakota 3.8.2011, 18:39 | ||
Спасибо конечно, но хочу написать свой dynamic loader! |