yii中引入js和css文件

四、在视图层(../views/..)添加CSS文件或JavaScript文件
Php代码 复制代码 收藏代码
  1. Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl ."/js/TableView.js"); 
  2. Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/datechooser.js"); 
  3. Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl . "/css/datechooser.css"); 

批注1:在视图层引用与在控制层引用的方式一样。但在视图层中引用加载的要晚一些。
批注2:引用路径是使用baseUrl,而不是basePath。
批注3:关于参数CClientScript::POS_END,作用是延时加载,提高页面渲染效率。例如:
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END);
全部参数一览:
CClientScript::POS_HEAD : the script is inserted in the head section right before the title element.
CClientScript::POS_BEGIN : the script is inserted at the beginning of the body section.
CClientScript::POS_END : the script is inserted at the end of the body section.
CClientScript::POS_LOAD : the script is inserted in the window.onload() function.
CClientScript::POS_READY : the script is inserted in the jQuery's ready function.
注:这些参数仅适用于加载js文件,不适用于加载css文件。

三、引入jquery核心部件
Php代码 复制代码 收藏代码
  1. Yii::app()->clientScript->registerCoreScript('jquery'); 

批注:不论在页面中的何种位置引用,最终yii会将jquery.js文件放入yii的assets文件夹下。即/projectName/assets/82qg58/jquery-1.6.1.min.js。


二、在控制层(../controllers/xxController.php)添加CSS文件或JavaScript文件
Php代码 复制代码 收藏代码
  1. public function init() 
  2. {    
  3.     //parent::init();    
  4.     Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css'); 
  5.     Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js'); 


一、在../layouts/main.php中引入
1,直接引入

Html代码 复制代码 收藏代码
  1. <!-- css --> 
  2. <link rel="stylesheet"type="text/css"href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css"media="print"/> 
  3. <!-- 图片 --> 
  4. <link rel="stylesheet"type="text/css"href="<?php echo Yii::app()->request->baseUrl; ?>/js/autocomplete/indicator.gif"/> 
  5. <!-- js --> 
  6. <script type="text/javascript"src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery.js"></script> 


2,yii方式引入
Html代码 复制代码 收藏代码
  1. <?php 
  2. <!-- (一)简单用法 --> 
  3. <!-- js --> 
  4.     Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END); 
  5.  
  6.  
  7. <!-- (二)复杂用法 --> 
  8. if($this->user->id) { 
  9.         Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('/account/info', array('format' => 'js')), CClientScript::POS_END); 
  10.     } 
  11.  
  12.     if($this->user->id) { 
  13.         Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('site/baseJs')); 
  14.     } 
  15. ?> 


批注:在yii运行后,第一种在head中,第二种在body最后面,显然后者效率更高。但必须加载的js和css有必要写在head中。

你可能感兴趣的:(JavaScript,jquery,PHP,function,css,stylesheet)