Создайте функцию addScripts(scripts, callback), которая загружает скрипты из массива scripts, и после загрузки и выполнения их всех вызывает функцию callback.
Скрипт может быть любым, работа функции не должна зависеть от его содержимого.
Пример использования:
addScripts(["a.js", "b.js", "c.js"], function() { a() });
/* функция a() описана в a.js и использует b.js,c.js */
- Ошибки загрузки обрабатывать не нужно.
- Один скрипт не ждёт другого. Они все загружаются, а по окончании вызывается обработчик
callback.
Исходный документ со скриптами a.js, b.js, c.js: tutorial/browser/events/scripts-load-src/index.html.
Решение, шаг 1
Решение
Решение, шаг 1
Создайте переменную-счетчик для подсчёта количества загруженных скриптов.
Чтобы один скрипт не учитывался два раза (например, onreadystatechange запустился при loaded и complete), учитывайте его состояние в объекте loaded. Свойство loaded[i] = true означает что i-й скрипт уже учтён.
Решение, шаг 2
Решение, шаг 2
#453