Yii: файлы JavaScript, которые я отображаю, ничего не делают на моей странице
Я использую Yii, и я хочу визуализировать некоторые файлы javaScript в моем представлении, я могу сделать их с помощью следующего кода
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl . '/protected/components/js/ForCreatePage.js',CClientScript::POS_HEAD);
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl . '/protected/components/js/createPageReady.js',CClientScript::POS_READY);
Но когда я пытаюсь использовать функцию из нее или использовать готовый файл, код ничего не делает
Часть файлов ForCreatePage:
function link_to_generated(data) {
alert($(data).find('ff_result').text());
}
createPageReady:
(function() {
amount_of_pages = 1;
$("#for-movie").css('width',(($('#for-movie-container-2').width()-10)+'px'));
... // more code inside the file
});
1 ответ
Ваш проект protected
папка может (и по умолчанию это так) содержать .htaccess
файл с следующим содержанием
deny from all
это означает, что все запросы к этой папке (и подпапкам) будут отклонены. Вы должны увидеть в консоли браузера ошибку, что запрошенные файлы не могут быть восстановлены
Если нет другого .htaccess
в js
каталог, который явно разрешает доступ к нему. Например
allow from all
использование CAssetManager
вместе с CClientScript
, Вот как я использую его в виджетах:
$assets=Yii::app()->assetManager->publish(__DIR__.'/assets/');
Yii::app()->clientScript->registerCssFile($assets.'/css/styles.css');
Yii::app()->clientScript->registerScriptFile($assets.'/js/scripts.js');