HTML - script标签异步加载

2020-03-20  本文已影响0人  coderfl
<script src="path/to/myModule.js" defer></script>
<script src="path/to/myModule.js" async></script>

defer与async的区别是:defer要等到整个页面在内存中正常渲染结束(DOM 结构完全生成,以及其他脚本执行完成),才会执行;async一旦下载完,渲染引擎就会中断渲染,执行这个脚本以后,再继续渲染。一句话,defer是“渲染完再执行”,async是“下载完就执行”(实测defer仅在ie8和ie9下有效)。另外,如果有多个defer脚本,会按照它们在页面出现的顺序加载,而多个async脚本是不能保证加载顺序的。


<script type="module" src="./foo.js"></script>
<!-- 等同于 -->
<script src="./foo.js" defer></script>
上一篇 下一篇

猜你喜欢

热点阅读