2014-06-13 14 views
0

我有兩個佈局。其中一個佈局不加載jQuery。 在檢查元素時,我發現jQuery-ui-min.js在我的樣式表後面正確加載,但是我沒有看到jQuery被加載到任何地方。jQuery沒有在第二個佈局中註冊

下面是我在我的頁面佈局......

<head> 
//several stylesheets 
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/dashboard/css/style_default.css" rel="stylesheet" /> 
//load here 
<?php 
Yii::app()->clientScript->registerCoreScript(Yii::app()->request->baseUrl .'/js/jquery-1.9.0.js'); 
?> 
</head> 

我還樣式嘗試過...

這樣的佈局,這是不是在默認視圖/佈局/ main.php 。它實際上被加載到一個模塊中。也許這是爲什麼?

+0

請不要張貼同樣的問題的多個問題:http://stackoverflow.com/問題/ 24212422/included-jquery-but-still-shows-uncaught-referenceerror -jquery-is-not-defined – crafter

+0

我認爲這是不同的。一個是更一般的,這個是針對yii如何調用它的。 – JamAndJammies

回答

0

RegisterCoreScript不以這種方式工作 見http://www.yiiframework.com/doc/api/1.1/CClientScript#registerCoreScript-detail

它只能註冊現有的核心產品

你需要registerScriptFile功能和使用這樣

Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl .'/js/jquery-1.9.0.js'); 

另外,您可以使用包括jQuery的與Yii這樣的

Yii::app()-.clientScript->registerCoreScript('jquery') 

說明包括版本是1.7.2

這個默認的支持,可以調用corePackages是

return array(
'jquery'=>array(
    'js'=>array(YII_DEBUG ? 'jquery.js' : 'jquery.min.js'), 
), 
'yii'=>array(
    'js'=>array('jquery.yii.js'), 
    'depends'=>array('jquery'), 
), 
'yiitab'=>array(
    'js'=>array('jquery.yiitab.js'), 
    'depends'=>array('jquery'), 
), 
'yiiactiveform'=>array(
    'js'=>array('jquery.yiiactiveform.js'), 
    'depends'=>array('jquery'), 
), 
'jquery.ui'=>array(
    'js'=>array('jui/js/jquery-ui.min.js'), 
    'depends'=>array('jquery'), 
), 
'bgiframe'=>array(
    'js'=>array('jquery.bgiframe.js'), 
    'depends'=>array('jquery'), 
), 
'ajaxqueue'=>array(
    'js'=>array('jquery.ajaxqueue.js'), 
    'depends'=>array('jquery'), 
), 
'autocomplete'=>array(
    'js'=>array('jquery.autocomplete.js'), 
    'depends'=>array('jquery', 'bgiframe', 'ajaxqueue'), 
), 
'maskedinput'=>array(
    'js'=>array(YII_DEBUG ? 'jquery.maskedinput.js' : 'jquery.maskedinput.min.js'), 
    'depends'=>array('jquery'), 
), 
'cookie'=>array(
    'js'=>array('jquery.cookie.js'), 
    'depends'=>array('jquery'), 
), 
'treeview'=>array(
    'js'=>array('jquery.treeview.js', 'jquery.treeview.edit.js', 'jquery.treeview.async.js'), 
    'depends'=>array('jquery', 'cookie'), 
), 
'multifile'=>array(
    'js'=>array('jquery.multifile.js'), 
    'depends'=>array('jquery'), 
), 
'rating'=>array(
    'js'=>array('jquery.rating.js'), 
    'depends'=>array('jquery', 'metadata'), 
), 
'metadata'=>array(
    'js'=>array('jquery.metadata.js'), 
    'depends'=>array('jquery'), 
), 
'bbq'=>array(
    'js'=>array(YII_DEBUG ? 'jquery.ba-bbq.js' : 'jquery.ba-bbq.min.js'), 
    'depends'=>array('jquery'), 
), 
'history'=>array(
    'js'=>array('jquery.history.js'), 
    'depends'=>array('jquery'), 
), 
'punycode'=>array(
    'js'=>array(YII_DEBUG ? 'punycode.js' : 'punycode.min.js'), 
), 
+1

哦謝謝你們澄清兩者!這沒有工作,但你指出我正確的方向,因爲默認值是1.7 ..所以我去配置和使用'scriptMap'作爲路徑而不是'registerScriptFile' – JamAndJammies