脚本元素块在头部,但不要在体内阻塞

时间:2014-03-10 08:10:52

标签: javascript performance browser block

我使用cuzillion来构建一个带有脚本元素的page

<head>
    <script></script>
</head>
<body>
    <img />
    <img />
    <img />
    <img />
</body>

此脚本元素加载2秒延迟,需要3秒才能执行。当我在Chrome中加载此页面时,网络会显示净状态:

enter image description here

显然,加载脚本会阻止解析器解析正文中的图像。加载脚本后必须加载图像

(可能是你提到过预先加载了一张图片。我认为这是因为webkit preloader被触发了。

然而,当我move the script into body时,

<body>
   <img/>
   <img/>
   <script></script>
   <img/>
   <img/>
</body>

它不会阻止其下的图像加载:

enter image description here

但为什么呢?为什么脚本会在头部而不是在体内?有什么区别?

1 个答案:

答案 0 :(得分:0)

如果要获取外部脚本,可以使用async属性告诉浏览器并行获取它。