We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
看一下这张图,已经说明了普通 script,async 和 defer。
一个普通的 script 标签如下:
<script src="foo.js"></script>
当解析 HTML 遇到 <script> 的时候:
<script>
foo.js
<script src="foo.js" async></script>
添加 async 之后,解析遇到这个 <script> 时:
async
值得注意的是,async 脚本会在脚本加载后立即执行,因此不能保证执行顺序(最后包含的脚本可能会在第一个脚本文件之前执行)。
<script src="foo.js" defer></script>
添加 defer 之后,解析遇到这个 <script> 时:
defer
DOMContentLoaded
与 async 不同,defer 保证按照它们在页面中出现的顺序执行。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
看一下这张图,已经说明了普通 script,async 和 defer。
普通 script
一个普通的 script 标签如下:
当解析 HTML 遇到
<script>
的时候:foo.js
(如果它是外部引入的,不是内联脚本内联脚本) ;foo.js
;async
添加
async
之后,解析遇到这个<script>
时:foo.js
,不停止解析;值得注意的是,
async
脚本会在脚本加载后立即执行,因此不能保证执行顺序(最后包含的脚本可能会在第一个脚本文件之前执行)。defer
添加
defer
之后,解析遇到这个<script>
时:foo.js
,不停止解析;DOMContentLoaded
实践前执行。与
async
不同,defer
保证按照它们在页面中出现的顺序执行。总结
参考
The text was updated successfully, but these errors were encountered: