-_-#【JS】defer / async
2024-10-18 17:30:25
引用JavaScript文件时的两个属性defer和async
<script src="js1.js" defer></script>
<script src="js2.js" async></script>
defer 延迟脚本
立即下载,延迟执行
这个属性的用途是表明脚本在执行时不会影响页 面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行
HTML5 规范要求脚本按照它们出现的先后顺序执行,因此第一个延迟脚本会先于第二个延迟脚本执行,而这两个脚本会先于 DOMContentLoaded 事件执行。
在现实当中,延迟脚本并不一定会按照顺序执行,也不一定会在 DOMContentLoaded 事件触发 前执行,因此最好只包含一个延迟脚本
IE4、Firefox 3.5、Safari 5 和 Chrome 是最早支持 defer 属性的浏览器。其他浏览器会忽略这个属 性,像平常一样处理脚本。为此,把延迟脚本放在页面底部仍然是最佳选择
async 异步脚本
立即下载,立即执行
指定 async 属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容
标记为 async 的脚本并不保证按照指定它们的先后顺序执行
异步脚本一定会在页面的 load 事件前执行,但可能会在 DOMContentLoaded 事件触发之前或之 后执行。
支持异步脚本的浏览器有 Firefox 3.6、Safari 5 和 Chrome
最新文章
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
- <;hr>; 的18种样式
- About SQLite
- PLSQL_性能优化系列07_Oracle Parse Bind Variables解析绑定变量
- 【软件多国语言】一个demo
- API基础开发学习网址
- ireport启动闪退问题
- android 5.0 创建多用户 双开多开应用(1)
- 写了几天的博客-feel
- 谈谈react-router学习
- ubuntu 64位下安装wps
- jq的遍历节点
- Python之socketserver模块和验证客户端链接的合法性
- python_超级基础
- 关于微信JS SDK接口wx.previewImage预览接口的使用
- POJ 2373 Dividing the Path (单调队列优化DP)题解
- Watermelon -- codeforces
- 20155217 2016-2017-2 《Java程序设计》第8周学习总结
- Spring boot设置启动监听端口
- opengl wglsharelists