精华帖 (0) :: 良好帖 (1) :: 新手帖 (3) :: 隐藏帖 (8)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-28
在很多优化法则中都提到,尽量将javascript放到页面底部,这是为什么呢 我通过firebug进行了下简单的分析
看下图
我们分析得出 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放在底部,这样就可以和图片几乎同时下载,让图片尽快的下载下来 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-10-28
这跟优化有什么关系,那不是共用一个http连接,那是同时发起了两个HTTP连接呀。
|
|
返回顶楼 | |
发表时间:2010-10-28
据我所知,这个是由于解析hmtl的解析器有关。。
把js (不关键服务)放在底部--因为解析html 是顺序解析的,可以放到最后解析 把css 放在最头部--因为css早点加载有利于页面的展示,css后加载,页面排版不全都乱了。 而且,不同浏览器还有并发量限制(在同一个域名下)。ie6 2个并发,firefox3以下版本是6个(现在不知道多少了) |
|
返回顶楼 | |
发表时间:2010-10-29
如果把js放在底部,那么图片和js谁先加载?
如果页面都出来了,就是缺几张图片,那么用户可能就不会等了,直接就会操作,那么有用到js才能操作的内容会不会就失效了呢?应该只适合一部分放到页尾 |
|
返回顶楼 | |
发表时间:2010-10-29
根据大牛们检验,js等资源一般放在<head>中加载时最好的方案,具体原因就不说了
|
|
返回顶楼 | |
发表时间:2010-10-29
kjj 写道 根据大牛们检验,js等资源一般放在<head>中加载时最好的方案,具体原因就不说了
这个不说还真不知道原因~~ 另外lz的图片可以合并下 |
|
返回顶楼 | |
发表时间:2010-10-29
我之前是放在head里面,然后经常遇到DOM没有加载完,然后JS就调用,报出空的错误。没有使用JQuery,所以也没有ready()方法,后来就把JS放在底部了。
|
|
返回顶楼 | |
发表时间:2010-10-29
不要管别人的事,管好你自己的事...
|
|
返回顶楼 | |
发表时间:2010-10-29
最后修改:2010-10-29
hyj1254 写道 kjj 写道 根据大牛们检验,js等资源一般放在<head>中加载时最好的方案,具体原因就不说了
这个不说还真不知道原因~~ 另外lz的图片可以合并下 具体原因是啥?哪位大牛的经验? 根据yahoo YUI团队总结的网站前端优化14条原则,是将脚本放在底部,将样式表放在顶部。 原因: 浏览器在下载js的时候不能并行下载,会阻塞其他资源的下载,这样导致整体响应时间变长。 ps:lz这图里面外部域名很多,看得很乱,不便于分析,最好换个简单的测试下 |
|
返回顶楼 | |
发表时间:2010-10-29
最后修改:2010-10-29
Hooopo 写道 hyj1254 写道 kjj 写道 根据大牛们检验,js等资源一般放在<head>中加载时最好的方案,具体原因就不说了
这个不说还真不知道原因~~ 另外lz的图片可以合并下 具体原因是啥?哪位大牛的经验? 根据yahoo YUI团队总结的网站前端优化14条原则,是将脚本放在底部,将样式表放在顶部。 原因: 浏览器在下载js的时候不能并行下载,会阻塞其他资源的下载,这样导致整体响应时间变长。 ps:lz这图里面外部域名很多,看得很乱,不便于分析,最好换个简单的测试下 Yslow写的很清楚啊 你的Yslow白装了... 顺着左边,put javascript at button.. |
|
返回顶楼 | |