1

问题很简单。我一直在研究,在类似的问题中我还没有找到答案。是否应该在页面底部加载的脚本中使用 defer?它会是多余的还是在任何情况下都有意义?

4

2 回答 2

1

浏览器将从上到下解析文档,因此将脚本放在所有主要内容之后将使解析器及时到达<script>;这使得浏览器可以及时下载脚本;将 defer 放在底部造成的延迟绝对没有意义,因为浏览器不会<script defer>在 HTML 解析器之前(或期间)执行它们;

因此,最好让浏览器<script defer>尽快加载(下载)它们(),并在所有主要任务完成后立即执行它们。

于 2020-03-06T19:47:12.757 回答
1

我不认为这有什么不同。但是,当您在<head>脚本中 defer 时,在解析 HTML 时异步获取,因此它比<script>作为最后一个<body>孩子更快。Flavio Copes在Efficiently load JavaScript with defer and async中提供了一个非常好的概述。

于 2020-03-06T19:40:49.253 回答