首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么第二次执行带有异步标记的较小大小的脚本?

为什么第二次执行带有异步标记的较小大小的脚本?
EN

Stack Overflow用户
提问于 2015-01-27 18:09:56
回答 1查看 38关注 0票数 0

我正在努力理解异步标记的工作。假设我的html中有以下代码:

代码语言:javascript
复制
    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="css/main.css">
    <script src="js/big.js"></script>
    <script src="js/small.js" async></script>
</head>

脚本big.js要大得多,并且加载在 small.js 之后,并且仍然首先执行,Eventsmall.js添加了异步标记。异步标记不应该保证脚本一下载就执行吗?

注意:如果我将异步放到big.js脚本中,则首先执行small.js

EN

回答 1

Stack Overflow用户

发布于 2015-01-27 18:14:06

首先,不能保证对异步脚本的执行顺序。也就是说,您所描述的行为是由代码本身造成的。

如果big.js不是使用async加载的,因为它是在DOM中的small.js之前加载的,规范要求它首先执行。实际上,在执行JavaScript之前,浏览器无法执行任何附加的big.js。这是因为不使用async加载的脚本不是异步的。他们保证是同步的。

注意,尽管如此,仍然可以异步下载small.js。事实上,无论浏览器是否显式地标记为异步,浏览器都可以异步下载所有资源。规范只规定有关执行顺序的规则,仅此而已。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28177160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档