Sep
10
为什么要压缩js文件?很明显,压缩后,文件个头小了,下载就快了,网页也就能在更短的时间内呈现在我们的面前,正常情况下,gzip对js的压缩比能达到3:1左右,以ext-all.js为例,源文件大小:463k,经过gzip压缩后的个头为125k,几乎到了4:1。
代码:
//参数可以是数组或者字符串
gzip_file("ext-all.js");
function gzip_file($file_s){
if(!is_array($file_s)){
$files[] = $file_s;
}
else{
$files = $file_s;
}
header("Expires:".gmdate("D, d M Y H:i:s", time()+15360000)."GMT");
header("Cache-Control: max-age=315360000");
$mtime = filemtime($file);
$gmt_mtime = gmdate('D, d M Y H:i:s', $mtime) . ' GMT';
header("Last-Modified:" . $gmt_mtime);
ob_start('ob_gzhandler');
foreach($files as $file){
$ext = array_pop(explode('.', $file));
switch ($ext){
case 'css':
header("Content-type: text/css");
break;
case 'js' :
header("Content-type: text/javascript");
break;
case 'gif':
header("Content-type: image/gif");
break;
case 'jpg':
header("Content-type: image/jpeg");
break;
case 'png':
header("Content-type: image/png");
break;
default:
header("Content-type: text/plain");
}
echo implode('', file($file));
}
ob_end_flush();
}
?>
假设将上面的代码存储为ext-all.php
那么引用的时候只需
就能实现对ext-all.js的压缩,当然前提是服务端支持zlib。
参考文章:
如何快速呈现我们的文章
gzip压缩js文件
题外话:ext js是个不错的js框架,在UI方面非常漂亮,效果也很出色,但就是js的个头太大,所以用gzip来压缩一下,个头就不会那么恐怖了。
有人说,现将js用软件压缩一下,然后再用gzip压缩一下,这样文件的个头就能最小,其实不然,我做了一个实验,将ext-all.js用软件压缩后变成199k,确实压缩了不少,但是再用gzip压缩的话,压缩比就很小了,结果是149k。
Sep
6
一直以来都是用同一台电脑上网,所以也没想过整个网上书签,但最近FF的表现不太理想,经常崩溃,结果就是之前存储的一些信息丢失,包括书签,因为我也没做备份,所以损失还是挺惨重的。之前还一直以为是ubuntu的原因,这次也算是为她洗冤了。
唉,用了twitter后,写出来的“文章”都是tiwtter风格。
Sep
5
效果查看:http://www.live-my-life-with-yuyi.com/lab/standard/pagination_style.html
源代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS Pagination Style Template</title>
<style type="text/css">
<!--
#tnt_pagination {
display:block;
text-align:left;
height:22px;
clear:both;
padding-top:3px;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:normal;
}
#tnt_pagination a:link, #tnt_pagination a:visited{
padding:7px;
padding-top:2px;
padding-bottom:2px;
border:1px solid #EBEBEB;
margin-left:5px;
text-decoration:none;
background-color:#F5F5F5;
color:#0072bc;
width:22px;
font-weight:normal;
}
#tnt_pagination a:hover {
background-color:#DDEEFF;
border:1px solid #BBDDFF;
color:#0072BC;
}
#tnt_pagination .active_tnt_link {
padding:7px;
padding-top:2px;
padding-bottom:2px;
border:1px solid #BBDDFF;
margin-left:5px;
text-decoration:none;
background-color:#DDEEFF;
color:#0072BC;
cursor:default;
}
#tnt_pagination .disabled_tnt_pagination {
padding:7px;
padding-top:2px;
padding-bottom:2px;
border:1px solid #EBEBEB;
margin-left:10px;
text-decoration:none;
background-color:#F5F5F5;
color:#D7D7D7;
cursor:default;
}
-->
</style>
</head>
<body>
<div id="tnt_pagination">
<span class="disabled_tnt_pagination">前10页</span><a href="#1">1</a><a href="#2">2</a><a href="#3">3</a><span class="active_tnt_link">4</span><a href="#5">5</a><a href="#6">6</a><a href="#7">7</a><a href="#8">8</a><a href="#9">9</a><a href="#10">10</a><a href="#forwaed">后10页</a></div>
</body>
</html>
这个是我认为比较容易使用,同时编程方面也挺容易实现的分页,就是以10页为基础,然后上十页和下十页,因为很少有人有兴趣会去看10页甚至20页以后的内容。不太喜欢那种带省略号的,看着就有点别扭。
Sep
1
想尝试一下多文件上传,于是想到了SWFUpload,文档还有点复杂,而且demo也没有现成的代码,只能自己慢慢去理解,好歹掌握了个大概,也做出了个自己的demo,谁成想到了windows下(我是在unbuntu下开发的),居然页面空白,也不是编码的问题,这可真是起了怪了,ubuntu下用firefox浏览没有问题,windows下firefox或者ie都没有效果,到官方网站看了看demo,firefox居然不识别,ie第一次识别,再刷新一下,也失效。我的神啊,还是不指望flash了。
Aug
28
有点无聊,想起这个游戏还挺有意思的,就改了一下。
就是那种在香港电视剧里经常能见到的,一个人拿着锤子,然后有九个洞,螃蟹会随机从洞里探出头来,如果打中,则能加分。
试玩地址:(姓名不能包含中文)点此进入
Aug
21
其实早就想感受一下dreamweaver cs3了,但下载地址不好找,今天终于下到了中文版的,先来感受一下。
安装的过程中,问我是否关联以下文件(js,php,html...),我全部去掉,一个都没让他关联,结果人家生气了,把所有他想关联,但我没让它关联的,都变成了记事本图标。小样,脾气还蛮大的,试着双击一个php文件,我以为会在记事本中打开,结果好家伙,dw给蹦了出来,而如果右键的话,第一个选项就是在dw中打开,而且还是加粗的。

再来看看DW CS3的新功能吧
- Ajax 的 Spry 框架
对于高级开发人员,一般有自己熟悉的框架,而这个Spry框架,是Adobe公司自己研制的,而且相关文档又少,所以对于高级开发人员,该功能可以完全忽略。(为了得到Spry的相关信息,我在livedocs里点了近10次,才取得真正有用的信息,而且Spry还与一家空间商重名)
- 高级 Photoshop CS3 集成
这个功能对于设计人员来说应该是个不错的消息,photoshop取代fireworks的日子不远了,(有点纳闷,为什么Fireworks会一直存在,并且还更新到了CS3)
- 浏览器兼容性检查
记得8里面就有这个功能了吧
- CSS布局/管理
这个是我比较喜欢的新功能,他本身提供了一些常见的模板,而且css也有注释,无论是对于老鸟还是小菜,经常看看,都是份不小的收获。
管理方面,可以通过拖放来实现CSS在各个文档的添加和转换。
这些是主要的更新内容,更详细的,可以查看livedocs(PS:文字有点小,可以按住ctrl+滚轴来调整大小)

