0
由於多次導入jquery.js(由pagespeed插件顯示)和其他腳本,我的網站的性能很差。所以在我的主要佈局,我加editMe擴展名不能正常工作,因爲scriptMap
<?php
$cs=Yii::app()->clientScript;
$cs->scriptMap=array(
'jquery.js'=>false,
'jquery.ui.js' => false,
);?>
...
...
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script>
..
</head>
但只要,我添加了上述腳本映射在主要佈局,EDITME豐富的文本框編輯器工作不正常。
有人可以告訴我如何解決這個問題? 另請建議我如何解決我的網站上的多個腳本導入問題?
我可以看到下面的代碼ExtEditMe.php
public function run() {
// Register JavaScript files
Yii::app() -> clientScript -> registerCoreScript('jquery');
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/js/jquery.js');
Yii::app() -> clientScript -> registerScriptFile(self::$_ckeAssetUrl . '/' . md5(self::$_ckeAssetUrl) . '.js');
Yii::app() -> clientScript -> registerScriptFile(self::$_ckeAssetUrl . '/ckeditor.js');
Yii::app() -> clientScript -> registerScriptFile(self::$_ckeAssetUrl . '/adapters/jquery.js');
// Generate textarea
$nameId = $this -> resolveNameID();
$this -> htmlOptions['id'] = $nameId[1];
if ($this -> hasModel()) {
echo CHtml::activeTextArea($this -> model, $this -> attribute, $this -> htmlOptions);
} else {
echo CHtml::textArea($this -> name, $this -> value, $this -> htmlOptions);
}
// Load CKEditor
$jquerySelector = CJavaScript::encode('#' . $this -> htmlOptions['id']);
$ckeConfig = CJavaScript::encode($this -> _ckeGenerateConfig());
Yii::app() -> clientScript -> registerScript('editMe_' . $this -> htmlOptions['id'], 'jQuery(' . $jquerySelector . ').ckeditor(' . $ckeConfig . ');', 2);
}