Yii中引入js和css文件
来源:互联网 发布:音乐播放 知乎 编辑:程序博客网 时间:2024/06/06 15:02
在视图层(../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中引入
直接引入
<!-- 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>
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中。
0 0
- yii中引入js和css文件
- yii中引入js和css文件
- yii中引入js和css文件
- Yii中引入js和css文件
- yii中引入js和css文件
- Yii中引入js文件和css文件
- yii引入js,css文件
- yii基于布局的子页面引入js和css文件,并放入布局文件中HTML的head中
- yii引入js css
- Yii模板头部引入css,尾部引入js文件
- Yii 引入js css jquery
- 如何在jsp文件中引入css和js文件
- yii框架如何引入css、img、js文件
- 引入外部CSS文件和JS文件
- css文件中引入CSS文件、js文件中引入js文件
- yii2引入css和js文件
- HTML中引入外部CSS和JS
- mvc中如何引入js和css
- 这个问题不会答,跳槽怎么成?
- tjut 3792
- linux下用户使用sql*plus的环境配置
- delphi程序向另一个可执行程序发消息
- 源码库网站
- Yii中引入js和css文件
- class命名
- 音视频封装格式、编码格式知识
- “找不到或无法加载主类”错误的原因
- oracle中scott不可登录的解决办法
- spring boot(7) 配置外部tomcat(1)
- 关于m3u8知识点
- Google CSE帮你多站点同时站内搜索
- 面试题