现在的位置: 首页 > 综合 > 正文

《高性能网站建设指南》笔记

2013年01月09日 ⁄ 综合 ⁄ 共 878字 ⁄ 字号 评论关闭

花了几个小时看完了o'reilly出版的《高性能网站建设指南》,不是很厚的一本书,看的不是很仔细,因为这本书主要是对yslow的给出的14条网站建议做了一个阐述,而这14条建议,我想做网站的应该早就知道的吧。

 

看完之后,对我来说印象比较深刻的有以下几点:

 

1. 为什么要把css引用放在顶部,js引用放在底部。以前只是知道最好在页面上把css放在<head>中,而把js放在页面最后,却不是很了解为什么要这么做。看完这本书才明白,因为css会影响页面的渲染,所以浏览器一般为了避免重绘dom,都是等css全部加载完了才把dom展现出来,这样一来,如果把css放在底部,就会造成“空白页”,用户体验不好,因为页面加载的过程其实对用户来说也相当于一种“进度条”,如果是空白页,用户就不知道页面出了什么问题。此外,css放在底部还会造成页面的“闪动”,dom本来加载完了,到了页面最底部,加载了一个css,引起了页面的重绘,所以会造成页面“闪动”。而js的加载会阻塞dom的并行加载,为什么呢?因为js中有document.write这样的命令可能会修改dom,所以浏览器碰到js时都是暂停dom的加载,直到js加载完。所以一般最好把js放在底部

 

2. 最好不要用css表达式。第一,浏览器支持不好,第二,能用css表达式的地方基本都有替代的解决方案,第三,对性能影响较大。为什么这么说?举个例子:css:expression(document.width>200?document.width=200:document.width=100),(可能写的不对,我对css不熟,但大概意思就是当页面宽度大于200时,设置宽度为200,否则是100),关键问题在于这个表达式什么时候触发,书中说当拖动页面的滚动条,甚至鼠标经过页面时,都会触发这个表达式来重绘页面,一个测试方法就是在这个表达式中加入一段计数的js代码,当拖动页面时,会看到计数器的数字是上千甚至上万,所以对性能的影响还是挺大的。

 

其他的都很好理解,就没有什么好说的了,可以参考一下yslow的14条建议。

抱歉!评论已关闭.