Ajax и CClientScript

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Ajax и CClientScript

Сообщение nizsheanez »

Что делать если нужно кусок страницы вывести с помощью Ajax, но заранее неизвестно какие яваскриптовые файлы будут нужны?
Я попробовал прогнать вывод через CClientScript::render(), но получается что файлы могут подключаться сколько угодно раз одни и те же.
Не совсем понятно как вести себя в такой ситуации, подскажите.
Аватара пользователя
badenkov
Сообщения: 79
Зарегистрирован: 2009.06.22, 09:05
Откуда: Ижевск
Контактная информация:

Re: Ajax и CClientScript

Сообщение badenkov »

Пробовал использовать следующее расширения:
http://www.yiiframework.com/extension/nlsclientscript/

Идея понравилась, только конкретно с этим расширением возникли проблемы. К тому же последние его версии вообще разочаровали. Короче лучше самому сделать, что и собираюсь, только пока никак руки не доходят. Обхожусь пока тем, что для таких очень аяксовых приложений заранее весь ява скрипт подгружаю в лейауте.
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Ajax и CClientScript

Сообщение nizsheanez »

Ну никак узнать нельзя какие скрипты будут нужны, вообще никак.
А что за решение собирались сами реализовывать? У меня руки дойдут)))
Аватара пользователя
badenkov
Сообщения: 79
Зарегистрирован: 2009.06.22, 09:05
Откуда: Ижевск
Контактная информация:

Re: Ajax и CClientScript

Сообщение badenkov »

Тоже самое, что есть в NLSClientScript. Тоесть все скрипты будут подгружать через компонент clientSctipt, и если запрос был не аяксовый, все будет точно также, как в родном, плюс добавляться кусок яваскрипта, который будет сохранять в массив на стороне клиента список скриптов, которые уже были подгружены. А если запрос аяксовый, тогда необходимые скрипты будут подгружаться javascript функцией, которая в зависимости от того загружены они или нет, будет их либо загружать, либо нет. Это и было реализовано в этом расширении, просто в проекте, в котором я пытался использовать это расширение начались проблемы, поэтому пришлось от него отказаться. Да и все скрипты там независимо от того аяксовый ли запрос, все равно подргужаются через такую javascript функцию. Поэтому у меня еще и страница загружалась сначала без стилей, и только когда доходило дело до исполнения javascript-а, подргужались стили.
Ответить