时代在进步,浏览器也在进步,做WPO(性能优化)工作得跟得上形势。
?
《高性能网站建设 High Performance Web Sites》英文版2007年推出,直到今天,都被奉为经典。书写得很好,但这本书毕竟是2007年,当时还在IE4一统天下的时代,一些书中的内容已经不符合现在的浏览器进化情况。举个例子:今天的浏览器缓存已经大大增加;浏览器并行下载数已经从原来的2个提升到4个、8个甚至16个;IIS7.0已经考虑到Etags的消极作用,不需再设置。
?
比较大的一个变化,我认为是JS脚本阻塞的情况发生了变化。Steve也留意到这一点,在他2010年初的博客 中,也提到了新浏览器下对JS阻塞已经做出了一些努力。下面的瀑布图是2007年大多数浏览器的加载JS组件的情况:
上图加载了6个文件:
- 1. ?html文档
- 2. js脚本,下载2秒,执行2秒(下载和执行都发生了阻塞情况)
- 3. js脚本,下载2秒,执行2秒(下载和执行都发生了阻塞情况)
- 4. 图片文件(三个组件并行下载)
- 5. css脚本(三个组件并行下载)
- 4. iframe(三个组件并行下载)
上述老浏览器的情况,js脚本无论在下载还是执行时,都发生了阻塞。
?
那么我们看看新浏览器(以ie8为例)情况下,情况有没有改善呢?
可以看出,两个js脚本和一个css样式表文件并行下载了,但js脚本执行时,还是发生了阻塞。js脚本执行的阻塞,似乎是无法避免的,因为js脚本经常会生成或修改HTML组件,必须等js执行完后,页面才能正常生成。
虽然js脚本执行阻塞还在发生,但js脚本下载阻塞似乎已经解决了。事实的确如此,IE8下,可以和JS脚本并行下载的包括JS脚本、CSS样式表,但不包括图片。在firefox 3.6版本以上,chrome 4.0以上的版本,可以和JS脚本并行下载的包括JS脚本、CSS样式表、图片。下面表描述了浏览器对JS脚本并行下载兼容情况:
?
?
浏览器在不断进步,很多以前奉为金科玉律的WPO原则,可能会轻松的整合在浏览器中。前段优化的很多传统工作,会变得越来越轻松。不过随着互联网媒体样式的演进以及移动互联网的重要性增加,WPO工作页面面临新挑战。
?
刚解放那阵儿,有句顺口溜“三天不学习,赶不上刘少奇”。 借用一下,: ) ?三天不学习,赶不上浏览器。
?
作者:?谭砚耘@用户体验与可用性设计-科研笔记
版权属于:?谭砚耘 (TOTHETOP至尚国际 ?)
版权所有。转载时必须以链接形式注明作者和原始出处
如果你希望与作者交流,请发送邮件到?tanyanyun/at/163.com?别忘了修改小老鼠
?
?
中国用ie6的人,大约占了25%,还有75%的人在用ie其他版本或者其他浏览器。