我正在尝试描述一个网站的性能,我相当有信心通过加载页面上的JavaScript文件来降低速度.
页面上多次包含相同的JavaScript文件,标签分散在整个页面中,而不是包含在底部.
正如我所怀疑的那样,在查看FireBug的"网络"选项卡时,大多数时候(不是全部)加载JavaScript时,都不会请求其他文件.浏览器等待JavaScript完成加载.
但是有一些例外.有些情况下会加载JavaScript,但与此同时,其他资源似乎也会被加载,例如其他JavaScript文件和图像.
我一直认为JavaScript阻止了页面上其他资源的加载.我是否认为这是错误的,或者这种行为是否因浏览器或浏览器版本而异?
更新:
对于已经解释如何加载脚本阻止加载其他资源的人,我已经意识到了这一点.我的问题是为什么脚本不会阻止加载其他资源.Firebug显示某些JavaScript文件不会阻止加载其他资源.我想知道为什么会这样.
Javascript资源请求确实是阻塞的,但是有很多方法可以解决这个问题(即:头脑中注入了DOM的脚本标记,以及AJAX请求),而这些内容在没有看到页面的情况下可能就是这里发生的事情.
包括相同JS资源的多个副本是非常糟糕的,但不一定是致命的,并且是典型的较大的站点,可能已经从单独的团队的工作中累积,或者只是简单的旧编码,计划或维护.
至于雅虎的建议,在机身底部放置脚本,这提高percieved响应时间,并能提高实际加载时间在一定程度上(因为前面所有的资源都允许异步第一),但它永远不会是有效作为非阻塞请求(尽管它们具有很高的技术能力).
这里有非阻塞JS的相当不错的讨论.