0
jquery.js (pagespeed 플러그인으로 표시) 및 기타 스크립트를 여러 번 가져 오기 때문에 웹 사이트 성능이 떨어졌습니다. 그래서 내 메인 레이아웃에, 나는 서식있는 텍스트 상자 편집기가 제대로 작동하지 않는, scriptMap 때문에 editMe 확장이 작동하지 않습니다.
<?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);
}