Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
1) Доброго времени суток. Идея в следующем: на клиенте js-ом хочу определять какие скрипты должны присутствовать на странице и подгружать эти скрипты и выполнять.
Делал это следующим образом - определял какие скрипты нужны, ajax-ом подгружал их, затем вставлял в eval и выполнял. Все хорошо. Затем узнал из кучи статей, что eval - это зло, он долго выполняется, да и вообще просто плохо.
В таком случае какая существует альтернатива eval-у?
скриптом нахожу, что используется блок social. отправляю запрос на сервер за стилями и скриптами этого блока. Из ответа вставляю стили на страницу, а скрипт вставлял в eval. Для чего это нужно? Во-первых хотел получить автоматизацию, не надо больше париться какие стили и какой js нужно подключать на страницу - все подгружается автоматом. Во-вторых меньше размер русурсов. То есть, если раньше стили были все в одном файле здоровенном и на текущей открытойстранице могли использоваться лишь 5% от всех стилей, то сейчас подгружаются файлы со стилями только используемых блоков на странице.
2) может вы знаете аналоги подобные, реализующие данный функционал?
Спасибо.
esterio
Отправлено: 20 Января, 2014 - 13:32:53
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
как-то так (Добавление)
ну а в общем сама идея плохая
а подгружаемый файл стилей будет отрабатывать после того как создастся?
и чем плоха идея?
esterio
Отправлено: 20 Января, 2014 - 13:54:53
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
лучше на ПХП, если мы знаем какая страница будет отображена, грузим соответсвующий JS и стили если нужно. Например в Yii есть целый класс CClientScript для такых целей
Pavelbeginner
Отправлено: 20 Января, 2014 - 14:10:46
Частый посетитель
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
esterio пишет:
лучше на ПХП, если мы знаем какая страница будет отображена, грузим соответсвующий JS и стили если нужно. Например в Yii есть целый класс CClientScript для такых целей
да, было бы здорово, если бы страница была статичной, но в моем случае все страницы сайта подгружаются ajax-ом. На сервере я не могу(конечно могу, но это куча гемороя будет, по-моему) следить за тем какие стили уже у пользователя на странице подгружены, а какие ещё нужно прислать.
А так я на сервере получаю html новой ajax присланной страницы, нахожу какие блоки(блоки в терминологии БЭМ) используются в этой верстке, проверяю не подгружены ли уже стили и js этих блоков и, если не подгружены, отправляю запрос за стилями и js-ом этих блоков.
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
почему сразу все не прогрузить
Ch_chov
Отправлено: 20 Января, 2014 - 14:20:35
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Pavelbeginner пишет:
То есть, если раньше стили были все в одном файле здоровенном и на текущей открытойстранице могли использоваться лишь 5% от всех стилей, то сейчас подгружаются файлы со стилями только используемых блоков на странице.
Это файл скорей всего сразу попдет в кэш браузера. Поэтому пользователю не придется его скачивать каждый раз
Pavelbeginner пишет:
может вы знаете аналоги подобные, реализующие данный функционал?
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
esterio пишет:
почему сразу все не прогрузить
В каком смысле всё? Например, загрузили главную страницу, на ней используются блоки socail, menu.
Затем пользователь может перейти на страницу, наример, page_products. Эта страница аяксом грузится. На этой странице есть блок products. Так вот, зачем мне при первой загрузке странице грузить стили блока products, если пользователь вдруг не захочет заходить на страницу page_products? (Добавление)
Ch_chov пишет:
Это файл скорей всего сразу попдет в кэш браузера. Поэтому пользователю не придется его скачивать каждый раз
Это я понимаю, но на работе, например, требование грузить на страницу только те стили, которые используются на странице и точка... Когда были статичные странице, то есть с перезагрузкой страницы, использовались бандлы, то есть для каждой страницы на сервере лежал css файл, в котором хранились все используемые на странице стили. Сейчас же, когда встал вопрос сайта без перезагрузки страницы, то есть все страницы грузятся ajax-ом, нужно новое решение.
esterio
Отправлено: 20 Января, 2014 - 14:35:19
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
затем что Вы больше кода написали на проверкы, нежели все стили из кеша пойдут
caballero
Отправлено: 20 Января, 2014 - 14:36:48
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
на вашем месте самое лучшее решение смеить работу. Когда у манагеров вывернуты мозги только и будете бегать по форумам как реализовать очередное идиотское требование
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.