Асинхронная загрузка Javascript различного поведения
Я занимаюсь разработкой виджета и использую среду extJS (вместе с stomp, орбитальными серверами). Требуется 5 разных файлов JavaScript. Чтобы избежать влияния на время загрузки пользователей, я пытаюсь загружать их асинхронно.
Через некоторые стеки обратного вызова мне удалось асинхронно загрузить их в порядке, в котором они требуются.
Однако виджет вообще не работает в асинхронном случае. Затем я скопировал "измененный" результирующий HTML DOM из инструментов разработчика Chrome и создал статический файл HTML.
Статический файл работает. Я печатаю несколько предупреждений, когда в обоих случаях загружаются разные файлы JS. Порядок этих предупреждений одинаков.
Как мне обнаружить и исправить ошибку. Ошеломлен после много отладки.
(Ссылка удалена, как и на рабочем сервере. Удалось обнаружить проблему и найти обходной путь - см. Ответ ниже - сохраните ссылку на кого-либо).
1 ответ
Проблема в том, что Ext.onReady вызывается, как только документ готов, т.е. ДО того, как другие скрипты загружаются асинхронно.
Таким образом, код инициализации не вызывался. Мне удается обойти это, вызывая Ext.each("фиктивные аргументы", initialization_function, this) в последнем загруженном JavaScript. Это заставило вещи работать на меня.