Что делать если нужно кусок страницы вывести с помощью Ajax, но заранее неизвестно какие яваскриптовые файлы будут нужны?
Я попробовал прогнать вывод через CClientScript::render(), но получается что файлы могут подключаться сколько угодно раз одни и те же.
Не совсем понятно как вести себя в такой ситуации, подскажите.
Ajax и CClientScript
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Ajax и CClientScript
Пробовал использовать следующее расширения:
http://www.yiiframework.com/extension/nlsclientscript/
Идея понравилась, только конкретно с этим расширением возникли проблемы. К тому же последние его версии вообще разочаровали. Короче лучше самому сделать, что и собираюсь, только пока никак руки не доходят. Обхожусь пока тем, что для таких очень аяксовых приложений заранее весь ява скрипт подгружаю в лейауте.
http://www.yiiframework.com/extension/nlsclientscript/
Идея понравилась, только конкретно с этим расширением возникли проблемы. К тому же последние его версии вообще разочаровали. Короче лучше самому сделать, что и собираюсь, только пока никак руки не доходят. Обхожусь пока тем, что для таких очень аяксовых приложений заранее весь ява скрипт подгружаю в лейауте.
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Ajax и CClientScript
Ну никак узнать нельзя какие скрипты будут нужны, вообще никак.
А что за решение собирались сами реализовывать? У меня руки дойдут)))
А что за решение собирались сами реализовывать? У меня руки дойдут)))
Re: Ajax и CClientScript
Тоже самое, что есть в NLSClientScript. Тоесть все скрипты будут подгружать через компонент clientSctipt, и если запрос был не аяксовый, все будет точно также, как в родном, плюс добавляться кусок яваскрипта, который будет сохранять в массив на стороне клиента список скриптов, которые уже были подгружены. А если запрос аяксовый, тогда необходимые скрипты будут подгружаться javascript функцией, которая в зависимости от того загружены они или нет, будет их либо загружать, либо нет. Это и было реализовано в этом расширении, просто в проекте, в котором я пытался использовать это расширение начались проблемы, поэтому пришлось от него отказаться. Да и все скрипты там независимо от того аяксовый ли запрос, все равно подргужаются через такую javascript функцию. Поэтому у меня еще и страница загружалась сначала без стилей, и только когда доходило дело до исполнения javascript-а, подргужались стили.