Yii安装EClientScript插件扩展实现css,js文件代码压缩合并加载功能_php实例

本文实例讲述了Yii安装EClientScript插件扩展实现css,js文件代码压缩合并加载功能。分享给大家供大家参考,具体如下:

扩展插件下载地址,解压后复制到/protected/vendor/

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

main配置文件配置插件,components里面增加

//js,css代码压缩,合并
'clientScript' => array(
 'class' => 'application.vendor.yii-EClientScript.EClientScript',
 'combineScriptFiles' => TRUE, // By default this is set to true, set this to true if you'd like to combine the script files
 'combineCssFiles' => TRUE, // By default this is set to true, set this to true if you'd like to combine the css files
 'optimizeScriptFiles' => !YII_DEBUG, // @since: 1.1
 'optimizeCssFiles' => !YII_DEBUG, // @since: 1.1
 'optimizeInlineScript' => false, // @since: 1.6, This may case response slower
 'optimizeInlineCss' => false, // @since: 1.6, This may case response slower
),

工具类Unit.php放于/protected/vendor/components,类中定义加载方法

/**
 * 注册JS 文件
 */
public function jsFile($file,$position=CClientScript::POS_HEAD,$media=array()){
 $cs=Yii::app()->getClientScript();
 $cs->registerScriptFile($file,$position,$media);
}
/**
 *注册CSS文件
 */
public function cssFile($file,$media=''){
 Yii::app()->getClientScript()->registerCssFile($file,$media);
}

模板调用css文件,js文件

<?php
//注册CSS文件,
Unit::cssFile('/css/home/base.css');
//result to:<link rel="stylesheet" type="text/css" href="/css/home/base.css" />
//IE6下加载CSS文件
Unit::cssFile('/css/form.css','lte IE 6');
//result to:<!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="/css/form.css" /><![endif]-->
//注册JS文件,
Unit::jsFile('/js/jquery.lazyload.js');
//result to:<script src="/js/jquery.lazyload.js">
//IE9下加载JS文件
Unit::jsFile('/js/common.js', CClientScript::POS_HEAD, array('media' => 'lt IE 9'));
//result to:<--[if lt IE 9]><script src="/js/common.js"><![endif]-->
?>

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js
, css
, 扩展
, 合并
, yii
, 压缩
, 代码
, 加载
EClientScript插件
yii clientscript、yii2 script、yii script、yii2 httpclient、yii2 authclient,以便于您获取更多的相关知识。

时间: 2024-08-31 15:25:29

Yii安装EClientScript插件扩展实现css,js文件代码压缩合并加载功能_php实例的相关文章

优化-jsp页面加载多个 js 文件,导致界面加载效率慢,第一次加载的时候,界面无法完全展示

问题描述 jsp页面加载多个 js 文件,导致界面加载效率慢,第一次加载的时候,界面无法完全展示 界面中引入了三个公共js文件,其中文件的大小分别为120.290.480KB,第一次 打开界面的时候界面无法完全显示,想问下怎么能进行效率优化,提升加载效率,谢谢各位大神啦,急!!! 解决方案 将js放到最后面,这样不影响页面的展示,还有就是压缩下你的js文件,做个cdn什么的 解决方案二: js合并.压缩,网上这种工具多得是.不影响页面的内容展示的那些js往页面后面放( 解决方案三: 最后通过Pa

如何解决CSS JS和图片对网站加载速度的影响

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 对于网站加载速度的严格要求一致是seo优化过程中的重点,如何提升网站加载速度,服务器,网站内容元素等都有很大的关系,本篇文章将从CSS JS和图片三个方面进行详细的讲解. 1.图片 (1)指定图像尺寸 加载图像之前,您的浏览器开始渲染页面.制定图像尺寸,有助于它环绕不可替代的元素.如果没有制定尺寸,一旦图像被下载您的浏览器将回流,为了做到这个

详解js异步文件加载器_php实例

我们经常会遇到这种场景,某些页面依赖第三方的插件,而这些插件比较大,不适合打包到页面的主js里(假设我们使用的是cmd的方式,js会打包成一个文件),那么这个时候我们通常会异步获取这些插件文件,并在下载完成后完成初始化的逻辑. 以图片上传为例,我们可能会用到plupload.js这个插件,那么我们会这么写: !window.plupload ? $.getScript( "/assets/plupload/plupload.full.min.js", function() { self

详解Grunt插件之LiveReload实现页面自动刷新(两种方案)_php实例

方案一:grunt-livereload + Chrome Plug-in 优点:安装.配置简单方便. 缺点:需要配合指定的浏览器插件(Firefox也有相关插件,IE么你懂的). 1. 需要安装2个插接件:grunt-contrib-watch.connect-livereload 执行命令: 复制代码 代码如下: npm install --save-dev grunt-contrib-watch connect-livereload 2. 安装浏览器插件:Chrome LiveReload

浅谈js在html中的加载执行顺序,多个jquery ready执行顺序_javascript技巧

jQuery $(document).ready()执行顺序: 当页面DOM 元素全部加载完毕后就执行.ready().$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 如果在.ready()执行之前有javascript代码存在,那么javascript将怎么执行呢? 答案是先执行.ready()之前的javascript代码,然后执行.ready(). 多个$(document).ready()的执行顺序并非单纯的顺序执行,其与嵌套层级也有一定的关系.

JS实现的自定义显示加载等待图片插件(loading.gif)_javascript技巧

本文实例讲述了JS实现的自定义显示加载等待图片插件.分享给大家供大家参考,具体如下: 在工作中遇到了一个问题 -- 某个业务流程分为几个阶段,每个阶段如果在数据没有显示出来之前就要显示加载图片loading.gif文件,如果有数据了就消失.为此,自己写了一个方法,方便整个工程使用. <button onclick="show()">show</button> <button onclick="hide()">hide</bu

php ci框架中加载css和js文件失败的原因及解决方法_php技巧

在将html页面整合到ci框架里面的时候,加载css和js失败,弄了半天发现ci框架是入口的框架, 对框架中文件的所有请求都需要经过index.php处理完成,当加载外部的css和js文件的时候要使 用base_url()函数处理外部的链接. 比如: 在config配置文件中的base_url为:" localhost:8080/项目名称/ " 在控制器中访问application/resource/aaa.js文件 相对路径<script src= "resource

js简单判断flash是否加载完成的方法_javascript技巧

本文实例讲述了js简单判断flash是否加载完成的方法.分享给大家供大家参考,具体如下: <script type="text/javascript"> //判定是否加载成功 function checkLoaded(flash){ try{ return Math.floor(flash.PercentLoaded()) == 100 }catch(e){ return false; } } var flash = 'flash对象'; var intervalID =

jquery动态加载外部js文件代码研究

$.getScript函数动态加载js 有时网页上的js过多就会让网页加载太慢,用户体验不好,我们可以使用jquery $.getScript函数动态加载我们需要的js文件    代码如下 复制代码 $("#load").click(function(){  $.getScript('helloworld.js', function() {     $("#content").html('Javascript is loaded successful!');  })