2013-03-25 76 views
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); 
    } 

回答

1

作爲一種變通方法,我已經修改了我的主要佈局如下

<?php 
$cs=Yii::app()->clientScript; 
$cs->scriptMap=array(
    'jquery-ui.min.js' => false, 
    'jquery.min.js'=>false, 
);?> 
... 
... 
    <head> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script> 
    .. 
    </head> 

然而,

ExtEditMe.php保持as.Also在我使用的所有地方jquery.js現在使用jquery-min.js。

相關問題