qq765918908 2021-03-22 00:46 采纳率: 0%
浏览 30

关于script标签的defer属性

查了网上很多资料,都说defer表示在js文件加载好之后,只有在html解析完毕的情况下才按顺序执行js,但有一种情况是html解析完毕了,a.js没加载好了,但b.js加载好了,按顺序应该是先执行a.js再执行b.js,这个时候会不会先执行b.js,然后a.js加载好之后再执行a.js ?

  • 写回答

1条回答 默认 最新

  • 肥肥呀呀呀 2023-03-02 22:19
    关注

    推荐一篇文章


    defer 和 async 都是异步(并行)加载资源,不同点是 async 是加载完立即执行,而 defer 是加载完不执行,等到所有元素解析完再执行,也就是 DOMContentLoaded 事件触发之前。
    因为 async 加载的资源是加载完执行,所以它比不能保证顺序,而 defer 会按顺序执行脚本。

    这里的html解析完毕了 那么a.js b.js肯定也加载完了啊?不存在html解析完毕 a.js没加载完成的情况

    评论

报告相同问题?

悬赏问题

  • ¥30 matlab解优化问题代码
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用
  • ¥15 R语言mediation包做中介分析,直接效应和间接效应都很小,为什么?
  • ¥15 Jenkins+k8s部署slave节点offline