现在的位置: 首页 > 综合 > 正文

js基础:async和defer属性

2017年12月27日 ⁄ 综合 ⁄ 共 590字 ⁄ 字号 评论关闭

链接: http://blog.csdn.net/renfufei/article/details/10210949

链接: http://www.tuicool.com/articles/QZBzAz

script可以通过添加async或者defer属性来让脚本不必同步执行。html的版本html4.0中定义了defer;html5.0中定义了async;这将造成由于浏览器版本的不同而对其支持的程度不同;

 

两者的区别在于执行时的不同:

async属性:

表示当前脚本不必等待其他脚本,也不阻塞文档呈现,属异步执行。但不能保证脚本按照它们在页面中出现的顺序执行。

defer属性:

让脚本在文档完全呈现之后再执行。延迟脚本会按照脚本原来在页面中的顺序执行。

执行时刻:

每一个async属性的脚本都在它下载结束之后立刻执行,同时会在window的load事件之前执行。所以就有可能出现脚本执行顺序被打乱的情况;每一个defer属性的脚本都是在页面解析完毕之后,按照原本的顺序执行,同时会在document的DOMContentLoaded之前执行。

<script async src="myAsyncScript.js" onload="myInit()"></script>
<script defer src="myDeferScript.js" onload="myInit()"></script>

抱歉!评论已关闭.