异步加载
来源:互联网 发布:网络博客行业 编辑:程序博客网 时间:2024/05/21 12:49
下面就是两种异步加载的语法。
上面代码中,标签打开defer或async属性,脚本就会异步加载。渲染引擎遇到这一行命令,就会开始下载外部脚本,但不会等它下载和执行,而是直接执行后面的命令。
defer与async的区别是:前者要等到整个页面正常渲染结束,才会执行;后者一旦下载完,渲染引擎就会中断渲染,执行这个脚本以后,再继续渲染。一句话,defer是“渲染完再执行”,async是“下载完就执行”。另外,如果有多个defer脚本,会按照它们在页面出现的顺序加载,而多个async脚本是不能保证加载顺序的
我的理解是: 这两个属性标签共同的部分是,浏览器都会给他们新开线程来下载,只是defer下载完后要等到整个页面渲染结束才执行,而async则是一旦下载完成就执行。
前面的异步下载部分是一样的。
加载规则浏览器加载 ES6 模块,也使用标签,但是要加入type=”module”属性。
上面代码在网页中插入一个模块foo.js,由于type属性设为module,所以浏览器知道这是一个 ES6 模块。
浏览器对于带有type=”module”的,都是异步加载,不会造成堵塞浏览器,即等到整个页面渲染完,再执行模块脚本,等同于打开了标签的defer属性。
阅读全文
0 0
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- *【异步加载】
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- 异步加载
- 异步缓存,异步加载
- 页面同步加载&&异步加载
- Android 网络超时
- 如何把别人项目代码修改后 提交到github
- Oracle 集群概念及原理(转)
- Linux下启动tomcat
- kmeans基于mapreduce的实现
- 异步加载
- 将Tomcat注册成服务
- ACPI _DSM
- web页面html中常用的特殊符号大全-可以直接用到页面里
- 深度学习笔记——深度学习框架TensorFlow(五)[TensorFlow大规模线性模型教程]
- WSDL实例解析
- Change a pointer
- 【math】7、输入一个数字,倒着输出
- 生成本地zip压缩包工具类