2014-02-24 81 views
0

有人知道一個乾淨的方式來設置不同版本的jQuery,取決於瀏覽器,綜合使用Yii嗎?在我的情況下,我想加載jQuery 2到所有瀏覽器,除了IE 8-Yii - 如何根據瀏覽器註冊腳本?

我使用,在配置/ main.php,這clientScript

'clientScript'=>array(
      'packages'=>array(
       'jquery'=>array(
        'baseUrl'=>'//ajax.googleapis.com/ajax/libs/jquery/2.0.3/', 
        'js'=>array('jquery.min.js'), 
       ), 
      ) 
    ), 

的Yii 1.1.14攜帶的jQuery 1.8.3,它會得到引用到頁面中調用registerCoreScript()時:

$cs = Yii::app()->clientScript; 
$cs->registerCoreScript('jquery.ui'); 

,因爲jQuery的被註冊爲jQueryUI的依賴性。但它沒有,因爲我的clientScript,定義如上。因此,所有瀏覽器得到jQuery 2,問題是它不支持IE 8-

也有使用IE評論的選項,就好像:

<!--[if (gte IE 6)&(lte IE 8)]> 

所以,這裏有一個問題,我想避免與評論的解決方案,讓Yii的爲我做的工作,但是如何?

+1

https://github.com/muayyad-alsadi/yii-EClientScript –

回答

1

您可以使用CHttpRequest :: getBrowser()

$browserInfo=Yii::app()->request->getBrowser(); 
if (($browser['Browser']=="MSIE")&&(floatval($browser['version'])<9)){ 
// register legacy scripts 
}else{ 
//register normal scripts 
} 

爲了這個工作,在php.ini您browscap配置必須指向在browscap.ini文件的正確位置的系統。

但是,最好的決定可以是 - 不支持IE 9和老年