当前位置: 首页 > article >正文

图解 script 标签中的 async 和 defer 属性

<script> 

  • 当浏览器解析到这个标签时,它会立即停止解析HTML文档,转而去加载并执行这个脚本。
  • 这意味着如果将<script>放在页面顶部,它可能会延迟整个页面的加载速度,因为浏览器必须等待脚本执行完毕才能继续解析HTML。

<script async> 

  • async属性告诉浏览器该脚本可以在后台异步下载,而不会阻塞HTML文档的解析。
  • 脚本一旦下载完成就会被执行,这可能是在HTML解析完成之前或之后,取决于脚本下载所需的时间。
  • 适用于那些不依赖于其他脚本且不需要操作DOM的独立脚本,如分析脚本。

<script defer>

  • defer属性也允许脚本异步下载,但它保证了脚本会在HTML文档完全解析完成后,但在DOMContentLoaded事件触发前执行。
  • 如果页面中有多个设置了defer的脚本,它们会按照在文档中出现的顺序执行。
  • 适用于需要操作DOM的脚本,因为它确保了脚本运行时所有的DOM元素都已准备好。

使用场景

1.脚本之间没有依赖关系的,使用sync

2.脚本之间有依赖关系的,使用defer

3.若同时使用sync和defer,defer不起作用,sync生效

 


http://www.kler.cn/a/521678.html

相关文章:

  • 基于Django的个人博客系统的设计与实现
  • python学opencv|读取图像(四十九)原理探究:使用cv2.bitwise()系列函数实现图像按位运算
  • 【MQ】RabbitMq的可靠性保证
  • 【PySide6快速入门】QLineEdit 输入框
  • 2024年记 | 凛冬将至
  • 蓝桥杯练习日常|c/c++竞赛常用库函数(下)
  • SpringBoot接口防抖(防重复提交)的一些实现方案
  • [Linux]Shell脚本中以指定用户运行命令
  • Android vendor.img中文件执行权问题
  • 【Spring】Spring启示录
  • 浅谈TCP/IP
  • HTTP 网络通信协议
  • 电子应用设计方案105:智能家庭AI拖把系统设计
  • koodo-reader-电脑跨平台现代阅读器[支持ebook等电子书,支持多种格式]
  • Python爬虫获取item_search_img-按图搜索淘宝商品(拍立淘)接口
  • 数据要素白皮书(2024年)(解读+全文阅读)
  • 机器学习练习day1
  • 两种交换排序算法--冒泡,快速
  • C++ 写一个简单的加减法计算器
  • 蓝桥杯练习日常|c/c++竞赛常用库函数(下)
  • day7手机拍照装备
  • Visio2021下载与安装教程
  • 人工智能在教育中的创新应用:打造未来的智慧课堂
  • QT TLS initialization failed
  • 【Linux】gdb——Linux调试器
  • 【文星索引】搜索引擎项目测试报告