You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Window.load事件是否在所有非延迟JavaScript执行完成后触发?

回答

Window.load事件仅保证在同步加载的JavaScript执行完成后触发,对于异步脚本、ES模块这类异步加载的代码,无法保证它们在load事件前执行完毕。

具体细节:

  • 同步脚本:包括内联脚本、不带async/defer属性的外部脚本,浏览器会暂停HTML解析流程,优先完成这类脚本的下载(外部脚本)与执行,它们的执行一定在load事件触发前完成。
  • 异步脚本(带async属性/动态生成脚本):这类脚本会并行下载,下载完成后立即执行,执行时机完全取决于下载速度,可能在load事件前,也可能在之后,浏览器不做顺序保证。
  • ES模块:默认是异步加载执行的,不管是内联还是外部模块,都无法确保在load事件前执行完毕,除非手动配置同步加载(该场景极少使用)。

规范中提到的“文档加载完成”,特指页面所有同步资源(图片、样式表、同步脚本等)加载完成,异步资源的加载与执行不会阻塞load事件的触发。


内容的提问来源于stack exchange,提问作者Arial

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 02:45:01