外部异步/延迟 JavaScript 是否保证在窗口 onload 事件之前执行?

Tom*_*Tom 4 html javascript asynchronous onload deferred-execution

据我了解,异步脚本是在文档解析完成之前执行的,并在之后延迟脚本。但它们与 window.onload 事件的关系又如何呢?

如果我理解正确的话,异步脚本保证在窗口加载之前运行,并且延迟脚本可以在之后执行。是对的吗?或者这两种脚本总是在窗口加载之前执行?

mes*_*azs 5

MDN关于该事件的描述如下load

load 事件在文档加载过程结束时触发。至此,文档中的所有对象都已在 DOM 中,并且所有图像、脚本、链接和子框架都已完成加载

异步脚本在下载后立即加载,延迟脚本在解析 HTML 后加载。当它们也被加载后,load事件就会触发。所以是的,规格中有保证。