11月份都没更新了
今天就凑个数吧
上次讲了自动压缩css
这次就介绍自动压缩js
第一种方法跟上次差不多
只是表达式不一样而已
这种方法也可以压缩html的
我就不讲了
第二种方法利用jsmin类进行的
我是使用第二种的
你们就自己选个适合自己的
好了废话不多说,看操作

第一种GZIP压缩方式,新建js.php

 
  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. if(extension_loaded('zlib')){//检查服务器是否开启了zlib拓展
  4. ob_start('ob_gzhandler');
  5. }
  6. header ("content-type:application/x-javascript; charset: gb2312"); //注意如果乱码请修改为你的编码
  7. header ("cache-control: must-revalidate");
  8. $offset = 60 * 60 * 24; //js文件的距离现在的过期时间,这里设置为一天
  9. $expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
  10. header ($expire);
  11. ob_start("compress");
  12. function compress($buffer) {
  13. //去除文件中的注释
  14. $buffer = preg_replace('/\/\/.*/','', $buffer);
  15. //去除文件换行,空格的注释
  16. $buffer = str_replace(array("
  17. ", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
  18. return $buffer;
  19. }
  20. //包含你的全部js文档
  21. include('js/test1.js');
  22. include('js/test2.js');
  23. if(extension_loaded('zlib')){
  24. ob_end_flush(); //输出buffer中的内容,即压缩后的js文件
  25. }

第二种利用jsmin类,新建js.php

 
  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. header('Content-type: text/javascript');
  4. require 'jsmin.php';//调用jsmin类
  5. //file_get_content('压缩js文件')
  6. echo JSMin::minify(file_get_contents('test1.js').file_get_contents('test2.js'));

jsmin.php下载

Jsmin.php类
说明:放到当前你的主题目录

调用方法

 
  1. <script type="text/javascript" src="<?php echo TEMPLATE_URL; ?>js.php?v=1.0" ></script>