html - <script> 的 "async"属性

标签 html

文档中关于 async 属性的说明是:“设置此 bool 属性以指示浏览器应在可能的情况下异步执行脚本。”我认为即使没有这个标签,所有外部脚本也会异步执行。我错了吗?

如果我声明了多个外部脚本,它们是同时下载还是逐个下载?他们将以什么顺序被执行?

<script type="text/javascript" src="js/1.js"></script>
<script type="text/javascript" src="js/2.js"></script>
<script type="text/javascript" src="js/3.js"></script>

最佳答案

是的。默认情况下,脚本是阻塞的。 HTML 解析将停止,直到脚本执行完毕(请注意,脚本发出的某些函数调用可能会异步处理,并且这些函数调用不会阻止进一步渲染)。

如果情况并非如此,那么:

<script src="foo.js"></script>
<p>Hello

document.write("foo!");

可能会在 Hello 之后将 foo! 插入到 HTML 中,因为在执行之前下载脚本需要一些时间。

关于html - &lt;script&gt; 的 "async"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18702287/

相关文章:

javascript - 使用 jQuery 从分隔列表中删除元素

jquery - 如何使用 jquery 创建一个包含行的新表并将其包装在 div 中

javascript - HTML 'body' 标签是否有 onblur 事件?

Javascript onclick 显示 block 问题

javascript - 如何关闭使用 ":target"伪类创建的绝对定位窗口?

java - 如何添加指向在 Android 应用程序中创建的此电子邮件的超链接?

html - 当窗口较小时如何将其更改为列表而不是 2x2 图像正方形

javascript - 更改 css 属性时,从右到左方向的图库轮播不起作用

javascript - 有哪些优秀的 HTML 5、CSS 3 和 JavaScript 博客?

javascript - 无法点击我网站上的任何链接