谈谈<script>链接属性的defer async 区别
博客专区 > r00txx 的博客 > 博客详情
谈谈<script>链接属性的defer async 区别
r00txx 发表于1年前
谈谈<script>链接属性的defer async 区别
  • 发表于 1年前
  • 阅读 356
  • 收藏 24
  • 点赞 2
  • 评论 3

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: js defer async 异步加载

有时候我们加载JS文件, 尤其是外链JS文件的时候,当文件加载过慢,或者文件加载出错的时候,有可能会阻塞整个页面的加载, 这时我们需要JS的异步加载, 有两个属性可支持异步加载

defer     async

用法为:

 <script type="text/javascript" async src="xxx.js"></script> 

<script type="text/javascript" defer src="xxx.js"></script>

 

defer 和 async 的共同点是 都是可以并行加载JS文件,不会阻塞页面的加载, 不同点是 defer的加载完成之后, JS会等待整个页面全部加载完成了再执行, 而async是加载完成之后,会马上执行JS, 所以假如对JS的执行有严格顺序的话,那么建议用 defer加载。

 

以上两个属性有一种异常情况, 假如当要加载的 JS 有如下的代码逻辑:

document.write('xxxxx'); window.location='xxxx';

那么有可能会导致页面的一片空白,要谨慎使用

共有 人打赏支持
粉丝 0
博文 18
码字总数 6439
评论 (3)
Qiujuer
还不错的。
os790858223

引用来自“Qiujuer”的评论

还不错的。

嗯嗯
os790858223
一二一
×
r00txx
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: