压缩js和css代码可以提高浏览者访问网站的速度,从而增加用户体验度,那么如何压缩javascript和css代码呢?
减小代码在传输中的大小,就能提高页面的传输速度,打开网页也就快了。
使用apache2的mod_deflate模块来压缩页面,但这需要在apache中加载这个模块才行,需要我们打开apache中的打开mod_deflate。
mod_deflate模块提供了deflate输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩(应该也是采用gzip数据格式压缩,deflate是一种压缩算法)以节约带宽。apache2已经内置了mod_deflate模块。apache 1.3.x时代使用mod_gzip模块来实现
那么对于没有开启mod_deflate模块的主机或者服务器来说,我建议您采用ob_gzhandler函数来压缩了,它的压缩效果和mod_deflate相比,相差很小,几乎可以忽略
而wordpress默认的gzip压缩功能是通过ob_gzhandler这个函数来实现的,ob_gzhandler是php 4.0.4新增的一个输出缓存函数,并通过gzip压缩后发送到客户端。这个函数需要zlib库支持,一般的虚拟主机都安装有这个库,所以很多blog都使用这个方法来实现对php页面的压缩。
使用ob_gzhandler函数有3种方法让它对php进行压缩:
1、在php.ini中设置output_handler = ob_gzhandler
2、在.htaccess中加入php_value output_handler ob_gzhandler
3、在php文件头加上ob_start('ob_gzhandler');
先进种我们是没法办到,第二种方法不错,可以一劳永逸,一、二种方法效果都一样,就是对所有php后缀文件进行压缩。我这里主要介绍一下第三种方法,参考“how to: optimize your css even more”。
例如对模板下的style.css进行压缩
1、把模板目录下的style.css复制一份出来,命名为style.css.php
接着在style.css.php顶部加入这句:
< ?php if(extension_loaded('zlib')) {ob_start('ob_gzhandler');} header(content-type: text/css); ?>
在后加上
< ?php if(extension_loaded('zlib')) {ob_end_flush();} ?>
(复制的时候去掉?php前的空格)
2、按照下面的方式修改header.php中的css连接
原来的:
<link rel=stylesheet type=text/css media=screen href=/style.css/>
修改后的:
<link rel=stylesheet type=text/css media=screen href=/style.css.php/>
搞定,现在你的css就可以被gzip压缩了。
js也可以使用同样的方法,只是在xx.js.php头部加入的应该是这样:
< ?php if ( extension_loaded('zlib') ) {ob_start('ob_gzhandler');} header(content-type: text/javascript); ?>
(复制的时候去掉?php前的空格)
仔细看看k2主题的中的js,就是修改后缀为php后在顶部加入了ob_gzhandler函数。
用这种方法,我把50多k的prototype.js和13k的style.css压缩了,现在用web page analyzer测试我的首页,js大小从88,553b减小到了45,852b,css从17,626b减小到了7,193b。
企业网站如何选择适合SEO的虚拟主机网站建设中新闻栏目对网站优化的重要性宿迁seo:本地网站建设关键词seo优化网页为什么需要进行方案设计?优化编辑应该熟知的基本SEO规则技巧模板网站怎样改版成营销型网站建设定制网站的时候需要注意的几个问题上海二手车小程序开发功能介绍