Борьба с повторной заргузкой скриптов и стилей

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
Begemot
Сообщения: 34
Зарегистрирован: 2013.10.30, 16:14

Борьба с повторной заргузкой скриптов и стилей

Сообщение Begemot »

В разрабатываемом проекте с использованием booster имеются участки с динамической загрузкой содержимого включающего ajax. Эти участки рендерятся через renderPartial(.... false,true), иначе ajax запросы из них не выполняются. Но при этом и стили грузятся по второму разу и верстка расползается.

Как с этим бороться? Почитал форум пришел к выводу что единственный выход nlsclientscript, подключил его по инструкции

Код: Выделить всё

'components'=>array(
  ...
  'clientScript' => array(
    'class' => 'your.path.to.NLSClientScript',
)
) 
И после этого ни один стиль не грузится и скрипты тоже, хотя все скрипты я обернул согласно инструкции в registerScriptFile(), скрипты из bosster и его стили тоже не пашут, и jquery из Yii тоже не запускается. Коментирую подключение NLSClientScript все работает.

Как решить эту проблему, куда копать?
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Борьба с повторной заргузкой скриптов и стилей

Сообщение Nafania »

Ну если вы прямо так подключили, как и у вас написано, то в общем-то понятно почему не работает.
Аватара пользователя
Begemot
Сообщения: 34
Зарегистрирован: 2013.10.30, 16:14

Re: Борьба с повторной заргузкой скриптов и стилей

Сообщение Begemot »

Nafania писал(а):Ну если вы прямо так подключили, как и у вас написано, то в общем-то понятно почему не работает.
Естественно многоточия я не писал, и путь к скрипту указал реальный.
Можно по подробнее что понятно?
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Борьба с повторной заргузкой скриптов и стилей

Сообщение Nafania »

Ну я подумал, что вы путь именно так указали.
При правильном подключении у вас в хеде должен появится вот такой яваскрипт

Код: Выделить всё

(function(a){var e=a.browser.msie&&7>=parseInt(a.browser.version)?document.createElement("div"):null,f=...
 
Без троеточия конечно и несколько длиннее.
Аватара пользователя
Begemot
Сообщения: 34
Зарегистрирован: 2013.10.30, 16:14

Re: Борьба с повторной заргузкой скриптов и стилей

Сообщение Begemot »

Такой скрипт есть, и как я понимаю он выпилил все скрипты и стили напрочь.
Аватара пользователя
flashimage
Сообщения: 1517
Зарегистрирован: 2011.01.23, 12:43

Re: Борьба с повторной заргузкой скриптов и стилей

Сообщение flashimage »

попробуйте сделать ремап скриптов, должно помочь и без плагина

Код: Выделить всё

 $disableScripts = array(
        'jquery.js',
        'jquery-ui.js',
        'select2.js',
        'redactor.js',
      );
foreach( $disableScripts as $script )
        Yii::app()->clientScript->scriptMap[$script] = false;
Бранчи это гомеоморфические эндофункторы, которые мапятся на субманифолды пространства Гилберта.
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Борьба с повторной заргузкой скриптов и стилей

Сообщение Nafania »

Это крайне маловероятно.
Отключите сжатие и мердж цсс и скриптов и посмотрите что к чему.

Код: Выделить всё

  'clientScript' => array(
    'class' => 'your.path.to.NLSClientScript',
    'mergeJs' => false, //def:true
    'compressMergedJs' => false, //def:false
 
    'mergeCss' => false, //def:true
    'compressMergedCss' => false, //def:false 
Аватара пользователя
Begemot
Сообщения: 34
Зарегистрирован: 2013.10.30, 16:14

Re: Борьба с повторной заргузкой скриптов и стилей

Сообщение Begemot »

покопался я с NLSClientScript, так и не понял что ему надо, а вот ремап это вещь, все сразу встало на свои места, так что решил скрипт убрать и через ремап в ручную контролировать что надо грузить, а что нет, да и без лишних скриптов размер передаваемого по ajax ответа меньше будет, опять же плюс.

Всем спасибо вопрос разрешился.
Ответить