异步加载js的方式有哪些
script 标签的 async 属性
- 该属性是HTML5中新增的异步支持;但是这种加载方式执行完之前会阻止onload事件的触发,而现在很多页面的代码都在onload时还执行额外的渲染工作,所以还是会阻塞部分页面的初始化处理。
script 的 defer 属性
- defer 属性规定是否对脚本执行进行延迟,直到页面加载为止;只支持IE。
onload时的异步加载
- 这种方法只是把插入script的方法放在一个函数里面,然后放在window的onload方法里面执行,这样就解决了阻塞onload事件触发的问题。
- 注:DOMContentLoaded与load的区别。前者是在document已经解析完成,页面中的dom元素可用,但是页面中的图片,视频,音频等资源未加载完,作用同jQuery中的ready事件;后者的区别在于页面所有资源全部加载完毕。
以上内容均为网上收集整理,仅供参考