Динамическая загрузка скриптов
Столкнулся со следующей проблемой. На странице подключается множество скриптов, в т.ч. jQuery и различные "производные" на его основе (jqGrid, Datepicker и т.д.). Сама страница является как бы набором закладок с разными возможностями.
Если запускать страницу обычным способом, то из-за большого количества скриптов она грузится долго, но зато все скрипты выполняются поочередно и каждый следующий скрипт уже имеет от предыдущих все, что ему необходимо. В связи с тяжестью я решил разделить страницу. Сам набор закладок останется. Но при клике на закладку должно подгружаться необходимое содержимое. Механизм следующий: я запрашиваю список ресурсов, которые нужны для страницы, потом в javascript создаю style или javascript-элементы, пихаю их на страницу и задаю им адрес. Отследить, что файл со скриптом загрузился, я могу - все скрипты адресуются на php-метод, который в конец каждого запрошенного скрипта ставит маркер. А вот отследить то, что что этот файл отработал и создал все необходимые переменные перед загрузкой следующего - это и есть проблема... В частности при загрузке Datepicker то успевает отработать настройка локализации, то не успевает. Переделывать плагин - не вариант. Как-то можно гарантированно узнать, что файл полностью готов? Ведь браузер же как-то справляется с этой задачей! |
Олдскул: поместить скрипты по порядку в самый конец страницы и не мучаться. =)
|
Разницы большой нет в том, куда их впихнуть - в начало страницы или в конец, т.к. страница без этих скриптов, как патрон без пули и пороха... вроде что-то есть, но нахрен оно надо?)))))
|
какой размер всех файлов в сумме ?
|
более 100 файлов весом что-то около метра, может даже поболее... Большей частью плагины, которые не имеет смысла переделывать, иначе дальше придется самому для себя их поддерживать...
|
![]() |
demoniqus, я просто оставлю это здесь, а вы всё-таки подумайте над своим подходом.
|
объедините все файлы в один , ужмите (к примеру через UglifyJS ) , gzip .
может в вашем случаи этого будет достаточно если возможно укажите ссылку страницу |
|
Ervin,
"не зная брода не суйся в воду" |
Цитата:
Не javascript но тебе сойдет =) http://www.bennadel.com/blog/2402-La...-Requested.htm http://stackoverflow.com/questions/1...with-requirejs |
Ervin,
и причем тут казалось бы java AMD требует модификации кода. demoniqus как рас и написал что не желает переделывать плагины. Ну и загрузка скрипта по требованию это не а-бы что. Кроме самой загрузки нужно еще учесть что скрипт может тупо не загрузиться, или банально долго загружаться. |
ОФФТОПИК
При том что, как ты можешь судить о моих знаниях по 21 символу ? Кто тебе дал право учить человека который об этом тебя не просил и повторюсь, о знаниях которого ты в обще не имеешь понятия ? Если хочешь, помочь кому то, а не показать что ты самый опытный, зачем писать пословицы, вместо реального примера, или ссылки на материал который мог бы увеличить мои познания, тем самым помогая мне, и безусловно делая приятно себе, осознанием того что ты помог, вместо того что ты просто попытался зажать человека, указывая на его не знание, что определено никому на добро не идет. Такое поведение людей, безусловно злит меня, и других людей когда они попадают в схожие ситуации. В итоге оказалось, что моя ссылка имеет место быть, о моих знаниях ты по прежнему не имеешь понятия, и судит основываясь на пустом месте, просто не простительно для человека, относящего себя к компьютерной сфере, где все основывается на Булевской логике. Совет на будущие, хочешь помочь - помоги, а хочешь поучить, пиши приватное сообщение чтобы человеку было не обидно. |
Часовой пояс GMT +3, время: 07:28. |