脚本异步如何实际工作以及何时使用它

时间:2016-04-26 13:00:22

标签: html asynchronous

根据MDN:

  

Async ...表示如果可能,浏览器应该异步执行脚本

这个定义真的很模糊。所以,让我明确表达我的理解,如果我错了,请纠正我:

我的第一个问题是当我使用关键字async加载第三方脚本时,浏览器将继续解析标签后的DOM元素,同时通过不同的方式下载脚本螺纹即可。我想知道浏览器实际上如何实现asychnoronous

我的解释是否正确?

我的第二个问题是什么时候使用async代替defer的情况好? (我理解他们之间的差异,我只是不知道何时会使用一个而不是另一个)

假设我想要包含的脚本没有任何依赖关系,并且它不依赖于其他脚本。除了执行时间的差异之外,为什么建议在这种情况下使用async而不是defer

1 个答案:

答案 0 :(得分:0)

以下是规范的内容:

https://www.w3.org/TR/html-markup/script.html#script.attrs.async

async指定脚本一旦可用就异步执行。

https://www.w3.org/TR/html-markup/script.html#script.attrs.defer

defer指定在解析文档后应执行脚本。