扫码关注官方订阅号
刚刚在某个网页里看到这样一条语句
<script type="text/javascript" src="xxxx.js" async="async"></script>
不知道这个 async="async" 是什么意思,求解
async="async"
大概描述让脚本延迟加载。具体请看这边文章:http://ued.ctrip.com/blog/?p=3121
摘抄下我以前的笔记:
HTML4.01为<script>定义了6个属性(废弃的这里不再给出):
<script>
使用<javascript>元素有两种方式:
<javascript>
包含在<script>元素内部的JavaScript 代码将从上至下依次解释。在解释器 <script> 元素内部的所有的代码求值完毕以前,页面中的其余内容将不会被浏览器加载或显示。
在使用<script>嵌入 Javascript 代码时,记住不要再代码的任何地方出现 "</script>"字符串,浏览器会认为这是结束的</script>标签。
"</script>"
</script>
无论如何包含代码,只要不存在defer或者async属性,浏览器都会按照<script>元素所在页面中出现的先后顺序对它们依次进行解析。
defer
async
defer属性只适用于外部脚本文件,现实中,延迟脚本并不一定会按照顺序进行(第一个延迟脚本先于第二个延迟脚本执行),也不一定会在 DOMContentLoaded 事件触发前执行,因为最好只包含一个延迟脚本。
异步脚本同样只适用于外部脚本文件,并告诉浏览器立即下载文件,异步脚本并不保证按照它们的先后顺序执行。 异步脚本一定会在页面的load 事件前执行,但可能会在 DOMContentLoaded 事件触发之前或之后执行。
这个讲的很清楚defer和async的区别
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
大概描述让脚本延迟加载。具体请看这边文章:http://ued.ctrip.com/blog/?p=3121
摘抄下我以前的笔记:
在HTML 中使用JavaScript
HTML4.01为
<script>
定义了6个属性(废弃的这里不再给出):使用
<javascript>
元素有两种方式:包含在
<script>
元素内部的JavaScript 代码将从上至下依次解释。在解释器<script>
元素内部的所有的代码求值完毕以前,页面中的其余内容将不会被浏览器加载或显示。在使用
<script>
嵌入 Javascript 代码时,记住不要再代码的任何地方出现"</script>"
字符串,浏览器会认为这是结束的</script>
标签。无论如何包含代码,只要不存在
defer
或者async
属性,浏览器都会按照<script>
元素所在页面中出现的先后顺序对它们依次进行解析。defer
属性只适用于外部脚本文件,现实中,延迟脚本并不一定会按照顺序进行(第一个延迟脚本先于第二个延迟脚本执行),也不一定会在 DOMContentLoaded 事件触发前执行,因为最好只包含一个延迟脚本。异步脚本同样只适用于外部脚本文件,并告诉浏览器立即下载文件,异步脚本并不保证按照它们的先后顺序执行。 异步脚本一定会在页面的load 事件前执行,但可能会在 DOMContentLoaded 事件触发之前或之后执行。
这个讲的很清楚defer和async的区别