美文网首页飘雪大前端
Script标签中 defer 和 async

Script标签中 defer 和 async

作者: wavesnow | 来源:发表于2017-04-10 14:54 被阅读32次

    defer延迟脚本

    js的引入<script></script>被放在body的结束符之前,这主要是为了让页面的所有节点被加载完了之后在执行js代码,不仅为了防止js获取dom节点失败的情况出现,也是为了提高并行下载。
    如果一定要将script标签放在head中,又担心无法获取到dom节点的话,可以如以下代码形式定义延迟脚本defer:

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

    defer的作用在于将脚本延迟到整个页面都解析完毕之后再运行。等同于告诉浏览器立即下载js脚本,但延迟执行。同时defer=“defer”定义的js脚本也会按照它们出现的先后顺序执行。

    ps:defer只对外部脚本文件起作用

    async 异步脚本:

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

    异步脚本的作用与延迟脚本相对一致,同样将脚本延迟到整个页面都解析完毕之后再运行,也只对外部脚本文件起作用。唯一区别在于,标记为async的脚本并不保证按照它们的先后顺序执行

    相关文章

      网友评论

        本文标题:Script标签中 defer 和 async

        本文链接:https://www.haomeiwen.com/subject/ngmwottx.html