随着web页面功能越来越多,css和js使用也越来越多。但是一个页面中js和css越多导致页面请求次数就越多,网络延迟也会加大。
网上有很多jss的压缩合并工具,但是都不是很方便。
其实来如果css和js所在的服务器支持动态程序比如php或者.jsp就很好办了,在静态服务器放一个php文件,用php动态生成就很方便了。
<html xmlns="http://www.w3.org/1999/xhtml"> <meta charset="UTF-8"> <title>列表页</title> <head> <link rel="stylesheet" type="text/css" href="/static/index.php?css/base.css;css/admin.css" /><script type="text/javascript" charset="UTF-8" src="/static/index.php?js/common.js;js/admin.js;nav.js;page.js"></script></head><body>
</body>
</html>
核心在于static.php完成css和js代码合并,当然在index.php这个文件也可以完成css和js文件的压缩。其实来这个文件也很简单
<?php
$files = explode(';',trim($_SERVER['QUERY_STRING'],';') );
strpos($_SERVER['QUERY_STRING'],'.css')!==false && header('Content-Type: text/css');
$a = array();
foreach($files as $fn){
$fn = './'.preg_replace('/[^a-z0-9\/\.\_\-]/i','',$fn);
$a[] = "\n/* -- $fn ---*/";
//判断要合并的文件是否存在
if (!file_exists($fn)){
} else{
$a[]=file_get_contents($fn);
}
}
$s=implode('',$a);
echo $s;
版权声明:本文为robinhunan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。