【发布时间】:2013-08-20 00:29:35
【问题描述】:
我阅读了High Performance Web Sites: Essential Knowledge for Front-End Engineers,其中作者建议应将所有 JavaScript 代码外部化并放在页面底部而不是放在头部。
这在this example 中有说明。 external 脚本标记会阻止页面的下载和渐进式呈现,因此解决方案是将其放在页面底部。
然而,在他的第二本书Even Faster Web Sites: Performance Best Practices for Web Developers 中,他谈到了内联 JavaScript 标签。
内联脚本还会阻止页面的下载和呈现,因此他建议将它们也移到页面底部。但是,此行为仍会完全阻止页面的呈现,如 this example 所示
为什么将外部脚本移动到页面底部可以让页面逐步呈现,而移动内联脚本会完全阻止呈现,直到脚本执行?
PS:
问题不在于为什么要将 JavaScript 添加到页面底部而不是放在头部。这就是为什么底部内联脚本会阻止渲染而底部外部脚本不会。
【问题讨论】:
标签: javascript html performance browser rendering