浏览器
来源:互联网 发布:空间皮肤psd源码 编辑:程序博客网 时间:2024/05/01 01:17
正常的网页加载流程是这样的。
- 浏览器一边下载HTML网页,一边开始解析
- 解析过程中,发现script标签
- 暂停解析,网页渲染的控制权转交给JavaScript引擎
- 如果script标签引用了外部脚本,就下载该脚本,否则就直接执行
- 执行完毕,控制权交还渲染引擎,恢复往下解析HTML网页
- 也就是说,加载外部脚本时,浏览器会暂停页面渲染,等待脚本下载并执行完成后,再继续渲染。原因是JavaScript可以修改DOM(比如使用
document.write
方法),所以必须把控制权让给它,否则会导致复杂的线程竞赛的问题。 如果有多个script标签,比如下面这样。
<script src="1.js"></script><script src="2.js"></script>
浏览器会同时平行下载
http://javascript.ruanyifeng.com/bom/engine.html#toc51.js
和2.js
,但是,执行时会保证先执行1.js
,然后再执行2.js
,即使后者先下载完成,也是如此。也就是说,脚本的执行顺序由它们在页面中的出现顺序决定,这是为了保证脚本之间的依赖关系不受到破坏。
0 0
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- Linux系统函数read说明
- 随记 INIT GET_COUNT INQUIRE NEWINQUIRE STOP EXIT
- 关于jsoncpp内部排序的问题
- ssh学习--登陆及设置问题
- 空间曲线的切线、主法线、副法线
- 浏览器
- ios9适配,编译报错修改
- 最近学习hadoop和spark的一些心得
- nginx+tomcat反向代理做负载均衡常见的问题
- 将BAT文件注册为服务的方法
- 图像旋转逆时针
- POJ 1442 Black Box [treap]
- XML解析(SAX)
- 在64位windows下使用instsrv.exe和srvany.exe创建windows服务