HTML5defer
为可以在 HTML 页面中延迟加载的脚本引入了该属性。defer
可用于任何不需要在 DOM 之前加载的脚本(也就是在 DOM 准备好之前不要弄乱它)。
长期以来,Web 开发人员一直被建议将所有不需要加载的脚本放在 DOM 之前,而不是放在页面中,而是放在标签head
的末尾。body
defer
使用和长期实践的建议有什么区别?前者能代替后者吗?
我很感激任何答案。谢谢你。
HTML5defer
为可以在 HTML 页面中延迟加载的脚本引入了该属性。defer
可用于任何不需要在 DOM 之前加载的脚本(也就是在 DOM 准备好之前不要弄乱它)。
长期以来,Web 开发人员一直被建议将所有不需要加载的脚本放在 DOM 之前,而不是放在页面中,而是放在标签head
的末尾。body
defer
使用和长期实践的建议有什么区别?前者能代替后者吗?
我很感激任何答案。谢谢你。
async 和 defer 脚本都立即开始下载而不暂停解析器,并且都支持可选的 onload 处理程序来解决执行依赖于脚本的初始化的常见需求。
来自WebKit 博客,因此所有浏览器的行为不一定相同。因此,如果脚本仍然在最后,性能会更好,因为它们将在稍后下载。
2017 年编辑:浏览器支持现在好多了,所以你可以在头脑中摆脱异步/延迟脚本。将它们放在底部可能仍然是一个更安全的选择。新的浏览器仍然会提前下载它们,即使它们不在脑海中。
2020 年编辑:如今,除非您支持非常旧的浏览器,否则您应该继续使用 async/defer。