Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Yii中引入js和css文件

在视图层(../views/..)添加CSS文件或JavaScript文件Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/TableView.js");
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/datechooser.js");
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核心部件Yii::app()->clientScript->registerCoreScript("jquery");批注:不论在页面中的何种位置引用,最终yii会将jquery.js文件放入yii的assets文件夹下。即/projectName/assets/82qg58/jquery-1.6.1.min.js。二、在控制层(../controllers/xxController.php)添加CSS文件或JavaScript文件public function init()

    //parent::init(); 
    Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl."/css/my.css");
    Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl."/css/my.js");
}新增:
在控制层,还可以在ActionIndex中引入,而且还可以引入别的module文件夹中的js/css文件。甚至是任意文件夹下的js/css文件public function actionIndex(){
  $modify,$reg = some_value;
  $js = $this->renderFile($this->getInstallViewPath(). "/asset/install.js",array("reg_mp"=>$reg), true);
  $js = $this->renderFile($this->getViewPath() . "/assets/install_params.js", array("modify" => $modify), true);
 
  $cs = Yii::app()->clientScript;
  $cs->registerScript("asset/install", $js, CClientScript::POS_END);
  $cs->registerCssFile(Yii::app()->baseUrl . "/css/launch_feed.css");
  $cs->registerScript("assets/install_params",$js,CClientScript::POS_END);
  $cs->registerScriptFile(Yii::app()->baseUrl . "/resources/jquery.form.js");
  $cs->registerCssFile(Yii::app()->baseUrl . "/css/install_params.css");  $this->render("xxx"); 
 }public function getInstallViewPath() {
        return $this->getModule()->getBasePath()."/../operations/views";
} 一、在../layouts/main.php中引入
1,直接引入<!-- css -->
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />
<!-- 图片 -->
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/js/autocomplete/indicator.gif" />
<!-- js -->
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery.js"></script>2,yii方式引入<?php
<!-- (一)简单用法 -->
<!-- js -->
    Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END);
<!-- (二)复杂用法 -->
if($this->user->id) {
  Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl("/account/info", array("format" => "js")), CClientScript::POS_END);
 } if($this->user->id) {
  Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl("site/baseJs"));
 }
?>批注:在yii运行后,第一种在head中,第二种在body最后面,显然后者效率更高。但必须加载的js和css有必要写在head中。3,区别批注:至于为什么会有/assets/b729ab/js/jquery.js这样的文件生成,还在继续探索中。Yii 用户登陆机制  http://www.linuxidc.com/Linux/2015-01/111602.htmYii 的详细介绍:请点这里
Yii 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-01/111603.htm