注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

江志祥的博客

可恶的中国银行,信用卡像病毒啊,取消那么难,,,

 
 
 

日志

 
 

yii中引入js和css文件  

2012-08-23 16:30:03|  分类: 计算机_yii |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
四、在视图层(../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');  
  6. }  


一、在../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中。 


3,区别 



批注:至于为什么会有/assets/b729ab/js/jquery.js这样的文件生成,还在继续探索中。

  评论这张
 
阅读(743)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017