有关script标签的defer属性

发布时间:2020-04-12编辑:脚本学堂
本文介绍下,有关javascript编程中,script标签的defer属性的相关内容,有需要的朋友参考下。

script标签会有一个属性 defer,这个属性的作用是什么呢?

要知道defer属性的作用,先看看浏览器对文档的加载顺序吧。

浏览器对文档的加载是按照文档先后顺序进行加载解析的。
当浏览器加载一个script标签的时候,如果是内嵌的标签,浏览器会完成对javascript代码的解析,然后继续文档的加载;
如果是引用独立的js文件,浏览器会去下载独立的js文件,这个时侯文档是阻塞的,不会去加载并解析script标签之后的内容(这也是为什么通常将js文件的引用写在HTMl文档的结尾处的原因),当浏览器完成js的下载以后,会马上解析并执行这个js文件。

这样看来,只要浏览器遇到script标签,都会加载并执行里面的代码。

有没有一种方式可以告诉浏览器,等文档加载完成之后再去执行script中的代码呢?

答案是肯定的,那就是前面说到的defer属性。

defer属性告诉浏览器代码包含非变更文档代码而且可以稍后执行。

但是,defer属性只对IE浏览器有作用,所以还是少用这个属性吧。