23

HTML5defer为可以在 HTML 页面中延迟加载的脚本引入了该属性。defer可用于任何不需要在 DOM 之前加载的脚本(也就是在 DOM 准备好之前不要弄乱它)。

长期以来,Web 开发人员一直被建议将所有不需要加载的脚本放在 DOM 之前,而不是放在页面中,而是放在标签head的末尾。body

defer使用和长期实践的建议有什么区别?前者能代替后者吗?

我很感激任何答案。谢谢你。

4

1 回答 1

8

async 和 defer 脚本都立即开始下载而不暂停解析器,并且都支持可选的 onload 处理程序来解决执行依赖于脚本的初始化的常见需求。

来自WebKit 博客,因此所有浏览器的行为不一定相同。因此,如果脚本仍然在最后,性能会更好,因为它们将在稍后下载。

2017 年编辑:浏览器支持现在好多了,所以你可以在头脑中摆脱异步/延迟脚本。将它们放在底部可能仍然是一个更安全的选择。新的浏览器仍然会提前下载它们,即使它们不在脑海中。

2020 年编辑:如今,除非您支持非常旧的浏览器,否则您应该继续使用 async/defer。

于 2012-11-01T18:21:30.237 回答