Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Динамическая загрузка скриптов (https://javascript.ru/forum/misc/37397-dinamicheskaya-zagruzka-skriptov.html)

demoniqus 18.04.2013 12:17

Динамическая загрузка скриптов
 
Столкнулся со следующей проблемой. На странице подключается множество скриптов, в т.ч. jQuery и различные "производные" на его основе (jqGrid, Datepicker и т.д.). Сама страница является как бы набором закладок с разными возможностями.
Если запускать страницу обычным способом, то из-за большого количества скриптов она грузится долго, но зато все скрипты выполняются поочередно и каждый следующий скрипт уже имеет от предыдущих все, что ему необходимо.
В связи с тяжестью я решил разделить страницу. Сам набор закладок останется. Но при клике на закладку должно подгружаться необходимое содержимое. Механизм следующий: я запрашиваю список ресурсов, которые нужны для страницы, потом в javascript создаю style или javascript-элементы, пихаю их на страницу и задаю им адрес. Отследить, что файл со скриптом загрузился, я могу - все скрипты адресуются на php-метод, который в конец каждого запрошенного скрипта ставит маркер. А вот отследить то, что что этот файл отработал и создал все необходимые переменные перед загрузкой следующего - это и есть проблема... В частности при загрузке Datepicker то успевает отработать настройка локализации, то не успевает. Переделывать плагин - не вариант. Как-то можно гарантированно узнать, что файл полностью готов? Ведь браузер же как-то справляется с этой задачей!

Aetae 18.04.2013 12:39

Олдскул: поместить скрипты по порядку в самый конец страницы и не мучаться. =)

demoniqus 18.04.2013 12:50

Разницы большой нет в том, куда их впихнуть - в начало страницы или в конец, т.к. страница без этих скриптов, как патрон без пули и пороха... вроде что-то есть, но нахрен оно надо?)))))

vflash 18.04.2013 12:58

какой размер всех файлов в сумме ?

demoniqus 18.04.2013 13:11

более 100 файлов весом что-то около метра, может даже поболее... Большей частью плагины, которые не имеет смысла переделывать, иначе дальше придется самому для себя их поддерживать...

Aetae 18.04.2013 13:14


Aetae 18.04.2013 13:26

demoniqus, я просто оставлю это здесь, а вы всё-таки подумайте над своим подходом.

vflash 18.04.2013 15:11

объедините все файлы в один , ужмите (к примеру через UglifyJS ) , gzip .
может в вашем случаи этого будет достаточно

если возможно укажите ссылку страницу

Ervin 18.04.2013 15:35

http://requirejs.org/

vflash 18.04.2013 15:56

Ervin,
"не зная брода не суйся в воду"


Часовой пояс GMT +3, время: 06:56.