原文转自:http://hi.baidu.com/touchiyudeji/item/6aaba851842720acacc857fc
在开发网页时,尽量将css放置在页面的header里,js不管是外部引入的或嵌入的js片段都应放在页面的尾部。
因为页面在加载时,css加载是可以并发请求的(同页面中的图片,ie6除外),而js加载时需要等待一个js文件加载完成后才加载其他资源,为了页面的快速呈现,放置在尾部效果较好。
同时由于嵌入的js片段会阻塞整个页面的呈现(外部引入js文件阻塞其他资源下载,也会阻塞该js引入位置以下的页面的内容呈现,所以要放置页面的最下面),需要利用工具来调用,如yui的
YAHOO.util.Event.onDOMReady(function() {...}); 方法,这样至少可以保证页面的框架出来后才执行需要的js方法。
我们分析得出
1、整个页面文档家在结束才开始加载css和js以及其他的数据
2、当顶部的所有js都家在结束之后才可以加载页面中的图片
3、顶部的common.css和common.js几乎是同时开始加载
4、底部的loader-min.js和离他最近的footer.jpg也是同时开始加载
由此,我们可以分析出,至少在这个版本的firefox中
从http的角度看,整个document是使用的一个HTTP连接,并且必须将这个HTTP连接结束后才会创建新的连接。
css和js可以共用一个HTTP连接,他们不能和img图片使用同一个连接
css和js可以同时进行加载,但不能和图片同时加载。
从这里面可以得出的结论是
1、尽量减少整个document的大小和顶部css的大小,加快他们的加载,甚至在整个页面比较小的情况下可以将css放在底部。
2、javascript放在底部,这样就可以和图片几乎同时下载,让图片尽快的下载下来