script标签中的async、defer

1,508 阅读1分钟

1,《script》

script不添加async、defer异步属性,加载js文件会阻塞HTML解析

2,《script async》

script添加async属性实现js文件异步加载,但执行会阻塞HTML解析

3,《script defer》

script添加defer属性实现js文件延迟加载,等HTML解析完成之后执行

4,执行条件

defer 和async是两个布尔值属性,只在使用src属性的script标签上起作用。

若defer和async属性同时存在,则async起作用

5,兼容性

async

如下图可见:在IE9及以下版本不支持async;

defer

如下图可见:defer在IE9版本及以下存在bug,建议不要使用。