引用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. 【原】Python 用例:二进制写入和读取文件内容
  2. ASP.NET Core 源码阅读笔记(5) ---Microsoft.AspNetCore.Routing路由
  3. threeSum_0
  4. 【POJ】3134 Power Calculus
  5. js 简易判断一个数字是否是小数
  6. Linux进程实时监控 - htop
  7. OAuth2.0开发指南
  8. ubuntu12.04下搭建ftpserver
  9. 【源代码】Set集合源代码剖析
  10. HDU 5130 Signal Interference(计算几何 + 模板)
  11. 常见浏览器的宽高代码写法!有原生JavaScript和jquery两种写法-------------------------------以及我的个人网站
  12. Excel 查找某列中的数据在另一列是否存在及输出第三例的数据
  13. ●BZOJ 4596 [Shoi2016]黑暗前的幻想乡
  14. sql拼接显示table的多个列
  15. CSS中margin边界叠加问题及解决方案
  16. python摸爬滚打之day18----instance, type, issubclass和反射
  17. 长文本溢出显示省略号(…) text-overflow: ellipsis
  18. 从源码的角度看 React JS 中批量更新 State 的策略(下)
  19. 分布式存储中HDFS与Ceph两者的区别是什么,各有什么优势?
  20. 在选定合适的执行引擎之后,通过敏感字段重写模块改写 SQL 查询,将其中的敏感字段根据隐藏策略(如只显示后四位)进行替换。而敏感字段的隐藏策略存储在 ranger 中,数据管理人员可以在权限管理服务页面设置各种字段的敏感等级,敏感等级会自动映射为 ranger 中的隐藏策略。

热门文章

  1. WEXT driver的执行过程实现(iwpriv部分/softapcontroller)
  2. hdu 2825(ac自动机+状态压缩dp)
  3. HTTP协议中的长连接和短连接(keep-alive状态)
  4. 《C++ primer》--第三章
  5. uC/OS-II 移植笔记
  6. Cocos2d-x使用iOS游戏内付费IAP(C++篇)
  7. PackageManager获取版本号
  8. (转载)OC学习篇之---类的三大特性:封装,继承,多态
  9. Spring学习笔记(一) Spring基础IOC、AOP
  10. nginx配置pathinfo支持,最佳方案 - chunyu