星期四 上午晴,下午多云转阴,晚上中雨 7~19℃

使用 gzip.exe 手动压缩

和三戒聊到 gzip。除上在服务器上可以设置 gzip 自动压缩,也可以手动压缩。

试一下把 77k 的 jquery.1.4.4.min.js 压缩一下,只有 20k 了。

但是手动压缩后还是要设置服务器才能解压,今天先记录下面这些。

一些参考资料:


阮一峰的几篇关于jquery文章


咽喉炎切勿吃生蒜

昨晚买烤鸭,送了些生蒜,以前吃烤鸭没吃生蒜,没想到吃了生蒜后反应这么大,一晚喉咙难过。

星期三 晴 8~15℃

友吧今天

  • 处理场馆详细页。
  • 思考评分系统,打算把场馆的“好中差评”改为“星级评分”。

第1400天:优化css层级

星期二 上午小雨,下午阴 2~10℃

友吧今天

  • 优化 css 层级。
  • 开始处理场馆详细页。整站模板一共三个大框架,前面好了两个,这是第三个。

星期一 上午小雨转阴,下午阴 5~10℃

notepad++ 免安装版“ansi”和“unicode”的选择

notepad++ 免安装版(zip package)里面有“ansi”和“unicode”两个版本,不知道要选哪个,有个繁体的资料:

※注意:免安裝版解壓縮後會有兩個資料夾分別為「ansi」與「unicode」編碼版本,若你不懂兩者的差異,請統一使用「unicode」版本!

参考:http://jgwy.net/thread-916493-1-1.html

这方面资料不多,还是下载安装版吧。


web高性能开发系列随笔,顺便说一下对“CSS的查找匹配原理”之外的看法

这里的几篇文章《web高性能开发系列随笔》值得看一下。其中最后一篇《了解CSS的查找匹配原理》杀伤力很够猛。原来对于一个层级写法,浏览器不是从左到右去查找匹配,而是从右到左去查找匹配的。不过虽然是知道了这个原理,但我还是会保留使用层级写法的习惯,只是要尽量减少层级数(尽量不超过 3 个)。

联想到 jquery 来。css 从右到左匹配和 jquery 的从左到右匹配正好相反,jquery 里对 id 的选择效率最高。

无论 css 还是 jquery,如果一味追求这点效率,就会让 html 的 class 和 id 激增,使 html 代码变得拖沓,可读性降低,css 自身的可读性也大大降低,如果遇到大的项目,要取这么多 className,一定会很头疼,最后导致这个 className 丧失语义,或者名字很长。

过多的 class / id 和过多的层级,都是极端的,写的时候注意权衡,兼顾两者。


解读CSS优先级

http://www.blueidea.com/tech/web/2009/6801.asp


友吧今天

  • 合并 js,减少 head 请求;
  • jquery.plugins.js 放到页面下方;
  • <head> 内的 css 放在 js 之后。

星期日 多云(雾) 6~18℃

友吧今天

继续 map api 优化。把想到的其他优化先记到记事本上,等上线后再优化。

明晚开始处理场馆详细页。

星期六 阴霾 13~19℃

css reset 处理不好也有弊端

下面这个是比较流行的 css reset:

* { margin:0; padding:0; border:none; outline:0; font-family:inherit; font-style:inherit; font-size:100%; font-weight:inherit; vertical-align:baseline; }

今天发现 mapbar 气泡的关闭按钮错位了,经排查,原来是受 css reset 的 vertical-align:baseline 的影响。

另外,前几天还遇到一个问题,border:none 影响了 select 在 ff 下的显示。

css 不要盲目对所有元素进行 reset,它可能反而会引起意想不到的问题。可分别对不同元素组进行 reset。


友吧今天

map api 优化。

第1396天:setTimeout() 详解

星期五 上午多云转阴,下午阴 12~19℃

setTimeout() 详解

看了这篇文章,对 setTimeout() 会有更深的理解。


友吧今天

早上在公交上想到一个栏目“游戏规则”。

继续优化 map js。

第1395天:阻止事件冒泡方法

星期四 中雨 9~14℃

阻止事件冒泡方法

昨晚遇到一个冒泡问题:

<div onclick="alert(‘第2个触发’)">
 <a id="test" href="#@第3个触发" onclick="alert(‘第1个触发’)">点我</a>
</div>

本意是希望点击 <a> 时不要执行它父级的 <div> 的 onclick,而是直接跳转页面。想了个方法,在 click 子元素时 removeAttr 父级的 onclick  :

$("#test").click(function(){
 $(this).parent().removeAttr("onclick");
})

今天早上来公司查一下,原来 jquery 有提供阻止冒泡的方法 stopPropagation() :

$("#test").click(function(event){
 event.stopPropagation();
})

参考:http://justcoding.iteye.com/blog/587876

又查一下,如果用原生 js 来写,需要用到 stopPropagationcancelBubble

function stopBubble(event) {
 //如果提供了事件对象,则这是一个非IE浏览器
 if (event.stopPropagation)
  //因此它支持W3C的 stopPropagation()方法
  event.stopPropagation();
 } else {
  //否则,我们需要使用IE的方式来取消事件冒泡
  event.cancelBubble = true;
 }
}

参考:http://hi.baidu.com/daijun2007/blog/item/bb0bf431e511b6a45edf0ec8.html

再看一下 jquery-1.4.4_source.js,里面定义了一个同样是名为 stopPropagation 的方法,所以使用 jquery 的 stopPropagation() 就不用考虑浏览器兼容的问题了。


removeClass() 比 removeAttr() 效率高

有同学进行了测试


友吧今天

优化地图传参。

星期三 晴朗 7~18℃

不变的精神,改一个方向

昨天和老张交流时的一些感想。

“坚持”是不变的精神,方向改一下,跳出“内容更新”观念的束缚,专注“产品开发”。

1、与其每天花那么多时间去更新那些微不足道的几篇内容,不如踏踏实实的做好产品让用户来用,让用户来产出内容,那才是靠谱的事情。

2、做用户体验,真的还要会前端技术,要不然真的是只会说不会做,有很多东西都是在做的过程中想到的。做一个会想会说会做的人。


友吧今天

场馆列表重构完成。

第1393天:html5 VS flash

星期二 晴朗 3~14℃

html5 VS flash

看了这 10 个 html5 游戏,真是叫人为 flash 捏把汗。

更多资讯:google百度


友吧今天

  • 今晚花很长时间解决一个 ie6 hack,叫人悲催的 ie6。
    本来直接这样就可以:
            a.arrow_1.hover { }
            a.arrow_2.hover { }
    结果硬是要写成不同的样式名:
            a.arrow_1.hover { }
            a.arrow_2.hover_2 { }

    2012-3-19 更新(感谢老秋指点)
    上面的写法应该改成这样:
            a.hover { }
            a.arrow_1 { }
            a.arrow_2 { }
     

  • 处理展开收缩地图js。