Latest Publications

Even Faster Web Sites: 读书笔记(一)

《Even Faster Web Sites》是Steve Souders的新书。Steve Souders现在是Google工程师,《High Performance Web Sites》一书的作者,Google Web Ex系列讲座的主持人,对前端优化有很专业的研究。他的UA ProfilerCuzillion项目尤其引人注目。

《High Performance Web Sites》这本书相信大家都比较熟悉,Souders在其中主要讲解了Yahoo!的14条网站性能军规。很是期待这本《Even Faster Web Sites》,可惜国内市面上还没有。偶得电子版一套,迫不及待打印出来,细细读来。

这本书只有一多半是Souders写的,其他部分是Crockford, NCZ等人的贡献,因此十分有内容。这次先记一些关于页面加载性能方面的读书笔记。

Splitting the initial payload

(阅读全文…)

获得原始href属性的方法

JavaScript里得到某个链接的href属性时,有三种方式,总结一下:

1. 直接获得href属性,也就是

var url = el.href;  // el是一个a元素

2. 使用getAttribute方法,像这样:

var url = el.getAttribute("href");

3. IE下的getAttribute方法有第二个参数,参见msdn的这篇。第二个参数如果是2,意思是以字符串形式返回。

var url = el.getAttribute("href", 2);

获得href属性的这三种方法,同样的,有三点,让人很费解,而且浏览器实现各不相同。

  1. 如果href写的是相对地址,得到属性时,浏览器可能会自动转为绝对地址。(很多情况下我们是不希望这样的)
  2. 如果href里有汉字,浏览器会自动编码吗?
  3. 如果href里有特殊字符,浏览器会自动编码吗?例如大括号{}。

为此我做了一个小测试页面(点这里可测试),得到了如下的结果: (阅读全文…)

JavaScript调试技巧之:断点调试(2)

上次总结了Firefox下进行JavaScript断点调试的技巧,这次来看一下其他浏览器下的调试。一点说明,这里的调试技巧都不借助于浏览器之外的工具,例如Aptana,VS2008等。如果要找这方面的一些资料,我这里没有哈。

其他浏览器,主要是Opera, Safari, Chrome和IE8。这之中除了IE8,它们的调试功能都挺不错的,基本都可以搜索脚本,加入断点,查看调用栈、本地变量,以及强大的console。

1. 使用Opera的Dragonfly进行断点调试

使用Opera进行断点调试

使用Opera Dragonfly进行断点调试

(阅读全文…)

JavaScript调试技巧之:断点调试(1)

如果您还没有阅读《JavaScript调试技巧之:快速定位》,建议先看看那篇。说不定,用快速定位就能解决问题了,呵呵。这次我会总结记录一下断点调试的笔记,希望也对大家有用,欢迎补充交流!

首先,在各个浏览器中,断点调试支持的最好的当然是Firefox,Firefox不仅可以使用Firebug调试页面js脚本,还可以用高级调试工具例如JavaScript Debugger (Venkman) 来调试Firefox扩展里的js。除此之外,Firefox还支持一些更为高级的断点调试、变量监视功能。

其他浏览器里,Opera、Chrome和Safari的调试功能也比较好用。Opera的DragonFly速度相对比较快,界面清爽,功能强大,但不如Safari等友好。相比来说,IE8的程序员工具简直没法用。

这次时间有限,先来总结一下Firefox下的调试技巧。 (阅读全文…)

夏暮观海——BeijingOpenParty见闻与收获

这次的Open Party颇为热闹。首先去的人比较多,其次是遇到很多同行熟人,交流起来非常亲切。总结一下见闻与收获。

遇到了MozillaOnline的Wendy和SunBin,他们带工程师来讲解了Firefox3.5的新特性。因为之前关注了Upgrade the web in 35 days,所以这些新特性我不算陌生。最后赶上了Wendy带来的Firefox3.5 cheese蛋糕,幸福得很哪!另外Wendy介绍我认识了Bastien,一个法国佬,下周举办OSWER‘09 Camp Week 2,一个探索教育中的开源软件应用的活动。在这里做一下广告,这个活动的注册地址是这里,大家踊跃参加啊。我会去参加8月1日的活动,会介绍一下Firefox南开校园版的开发情况。另外Bastien向我介绍了他们的olpc,意思是One Laptop per Child,一个给小孩用的小型开源操作系统,基于Linux和XULRunner,使用非常简单,并且加入了social networks概念。有机会我再详细了解一下。

Firefox 3.5 Cheese Cake

Firefox 3.5 Cheese Cake

和Jacky聊了聊Real-Time Web在国内的现状。Jacky一直试图推广他的实时web技术,但是似乎不是很成功。(在这里再做一下广告,他的site好象是playii.com)。Real-Time Web是我前一段时间研究过的,如果我们像lightstreamer.com那样,实现一整套技术,包括前端、服务器端,polling、long polling、push技术等等,并且做一套很酷的demo,开发完整的文档——我想这个东西在国内还是可以推广的。

(阅读全文…)