Как обеспечить правильный порядок выполнения скриптов?
Есть два скрипта. Пусть A.js и B.js и два инлайн скрипта - пусть Ai и Bi.
Порядок выполнения должен быть строго таким, что в начале выполняется A.js, а в конце Bi.
Я могу гарантировать, что A.js будет выполнен раньше B.js и, что Ai будет выполнен раньше Bi, но я не могу гарантировать выполнение A.js до Bi (((. Например если пользователь подключит скрипты в конце страницы, то я получу такой порядок: Ai , Bi, A.js, B.js. Это будет не гуд, так как Ai переопределяет свойства объекта создаваемого в A.js, а Bi вызывает функцию из A.js.
Как мне запустить Bi гарантировано после того как выполнится A.js? Какой наилучший способ?
Гарантированно - только обернув всё это счастье в соответствующие конструкции и вызывая их по очереди в нужно порядке.
Но - вообще - странноватая структура описана. Если нужны гарантии, то и пишите соответствующим образом, без инлайнов и зависимости от порядка подключения.
Это модуль для CMS.
В модуле я подключаю скрипты - библиотеку модуля и пользовательский (A.js и B.js), но я не могу гарантировать что в шаблоне разработчик не вынесет вывод скриптов в конец страницы перед закрывающим body.
В инлайн скрипты сыплется динамический код который устанавливает параметры выполнения.
Александр Маджугин: Посмотрите, как устроен код ГуглАналитики какой-нибудь. Там действия могут писаться в очередь до того, как скрипт аналитики будет загружен. А после загрузки они из этой очереди уходят на сервер.
А у вас настройки могут лежать и в инлайне, всё равно они понадобятся только после загрузки скриптов.