引用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

最新文章

  1. LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
  2. &lt;hr&gt; 的18种样式
  3. About SQLite
  4. PLSQL_性能优化系列07_Oracle Parse Bind Variables解析绑定变量
  5. 【软件多国语言】一个demo
  6. API基础开发学习网址
  7. ireport启动闪退问题
  8. android 5.0 创建多用户 双开多开应用(1)
  9. 写了几天的博客-feel
  10. 谈谈react-router学习
  11. ubuntu 64位下安装wps
  12. jq的遍历节点
  13. Python之socketserver模块和验证客户端链接的合法性
  14. python_超级基础
  15. 关于微信JS SDK接口wx.previewImage预览接口的使用
  16. POJ 2373 Dividing the Path (单调队列优化DP)题解
  17. Watermelon -- codeforces
  18. 20155217 2016-2017-2 《Java程序设计》第8周学习总结
  19. Spring boot设置启动监听端口
  20. opengl wglsharelists

热门文章

  1. iE6、7、8、9、10、11兼容的Cookie
  2. TabHost Tab的添加和删除
  3. Dubbo入门实例--转载
  4. codeforces 675C Money Transfers map
  5. IOS 支付宝 SDK 申请
  6. 《Python基础教程(第二版)》学习笔记 -&gt; 第八章 异常
  7. Fitnesse启动参数与配置
  8. SQL遍历字符串的方法
  9. SQL对字符串进行排序
  10. 8个很有用的PHP安全函数,你知道几个?