找回密码
 立即注册
首页 业界区 业界 JS加载

JS加载

伯斌 2025-6-6 10:51:52
同步加载


  • 阻塞模式,响应安全性强

    • 过多JS加载会影响页面效率
    • 默认情况下,JS是同步加载,及优先加载外部JS,只有当JS文件加载完成,don和css才开始加载

  1. [/code][size=6][font=STFangsong][color=#2181ff]异步加载[/color][/font][/size]
  2. [list]
  3. [*][font=STFangsong][color=#2181ff]非阻塞加载,执行效率高[/color][/font]
  4. [list]
  5. [*][font=STFangsong][color=#2181ff]动态创建script[/color][/font]
  6. [*][font=STFangsong][color=#2181ff]defer 延迟加载JS,等到HTML的DOM完全解析之后[/color][/font]
  7. [*][font=STFangsong][color=#2181ff]async HTML的文档解析和脚本的获取同时进行[/color][/font]
  8. [/list]
  9. [/list][code]
复制代码
理解优化


  • 浏览器解析html的DOM是从上到下的,JS默认为同步加载
  • 先被解析head的JS资源, 在body没有解析完之前会被绑定监听
即:head的JS资源在页面加载前,body的JS资源在页面加载后逐一获取JS
如:JS替换页面全局变量时, 需要将JS在body获取, 或者在head进行defer
PS:网页播放器一般放在body最底部,网页播放器与内容相干甚少,直接按需求defer/async
默认

1.png

async

2.png

defer

3.png


  • 默认: 提前加载并执行, 都占用html解析
  • async: 异步加载, 获取和解析同时, 执行占用html解析
  • defer: 异步加载, 获取完并不执行, 执行不占用html解析

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册