2013-05-16 14 views
0
頁我使用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 

}); 
+0

你得到的控制檯上的錯誤?你能看到正在加載網絡選項卡中的文件嗎? – jribeiro

+0

不,沒有看到有什麼 – userTom

回答

2

您的項目protected文件夾都可以(默認情況下它是如此)包含.htaccess文件與如下因素內容

deny from all 

,這意味着在此文件夾的所有請求(和子文件夾)將被拒絕。您應該在瀏覽器控制檯中看到錯誤,請求的文件無法檢索

除非另有.htaccessjs目錄中明確允許訪問它。例如。

allow from all 

使用CAssetManager連同CClientScript。下面是我如何使用它在widget中:

$assets=Yii::app()->assetManager->publish(__DIR__.'/assets/'); 
Yii::app()->clientScript->registerCssFile($assets.'/css/styles.css'); 
Yii::app()->clientScript->registerScriptFile($assets.'/js/scripts.js'); 

http://www.yiiframework.com/doc/api/1.1/CAssetManager

+0

你如何將文件推入資產?並從我的控制器,當我使用該代碼,他沒有找到路徑,它結束於/ controller/assets/ – userTom

+0

'CAssetManager :: publish'爲你推送文件。只需輸入目錄的正確路徑。 '__DIR __。'/ assets /'' - 是我的小部件資產的路徑。它可以是任何路徑。它可以從任何地方回收。在你的情況下可以'Yii :: getPathOfAlias('application.controller.assets')'。但我認爲存儲控制器目錄中的js文件是不正確的。 –

相關問題