- 浏览: 2566413 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1286)
- js-oop (2)
- js-window (10)
- js-event (19)
- js-string (37)
- js-array (27)
- js-page (4)
- js-dom (62)
- js-lang (8)
- js-number (7)
- js-platform (3)
- js-object (15)
- js-element (3)
- js-browser (7)
- js-url (6)
- js-date (10)
- css基础 (48)
- css优化 (15)
- html基础 (17)
- html标签 (19)
- js基础 (117)
- js-兼容性差异 (33)
- js引擎 (3)
- js性能 (14)
- json (6)
- jQuery源码浅析 (43)
- web mobile开发资料 (78)
- js跨域 (2)
- html5 (74)
- html5-canvas (7)
- css3 (53)
- 浏览器 (5)
- api设计学 (3)
- js-加载 (3)
- linux (37)
- 架构师 (1)
- php (2)
- self开发的脚本库--凤凰 (2)
- web应用名词 (6)
- javascript新特性翻译 (8)
- ajax (6)
- jQuery动画效果 (7)
- prototype的解读 (13)
- 优秀插件翻译 (1)
- css解决方案 (26)
- 数据库 (2)
- english daily (59)
- 浏览器内核探究 (1)
- jQuery插件介绍 (9)
- jquery基础篇 (26)
- chrome浏览器问题整理 (14)
- js选择器那些事 (3)
- 前端框架 (26)
- Firefox私有属性 (11)
- webkit私有属性集合 (17)
- 书籍推荐 (21)
- 数据结构 (1)
- 网站建设相关 (7)
- 好文翻译 (2)
- 个人作品 (3)
- kissy的解读 (4)
- css-layout(布局研究) (5)
- less研究 (1)
- YUI探究 (1)
- hash探究 (1)
- js动画 (7)
- 前端面试题 (37)
- css书写规范 (1)
- js模板引擎 (6)
- js模块化 (19)
- 编写高质量代码 (3)
- 性能探究--应用协议 (2)
- 前端图像处理 (19)
- Mac OS相关 (21)
- 正则表达式 (11)
- 离线应用相关 (0)
- 前端工具 (65)
- nodeJS (55)
- jquery优化篇 (2)
- 设计模式探究系列 (3)
- windows7 (2)
- IE10 (10)
- 微博开放平台探究 (2)
- 常用web服务接口 (1)
- 数据存储相关 (8)
- 零时文件 (2)
- jQuery Mobile (16)
- backbone (15)
- underscore (22)
- sass (11)
- android (3)
- phonegap (10)
- IE私有 (11)
- qwrap (8)
- git (14)
- chrome extensions (5)
- freemarker (11)
- angularJS (3)
- seo (2)
- markdown (3)
- css动画 (4)
- 安卓开发 (2)
- React (7)
- 活动页技术 (1)
- 网络安全 (3)
- grunt (7)
- Lo-Dash (3)
- 前端国际化 (4)
- 版本控制 (2)
- 盒模型 (4)
- 微信开发 (1)
- Mock数据工具 (1)
- sails (1)
- vim (1)
- js-color (1)
- iOS 基础 (43)
最新评论
-
jertom:
<div id="showInfo" ...
addEventListener等事件监听的参数细谈 -
乌托邦国王:
引用[u][/u]
css3动画属性系列之transform细讲移动translate -
hvang1988:
能提供附件下载吗,找不到js库,google封了访问不了
Syntaxhighlighter---代码高亮插件介绍 -
sscsacdsadcsd:
我的天 那到底是为什么function是object我看und ...
typeof func ==='function'的疑惑 -
wkjiangwk:
试了,没用,你们从不去测试。
介绍一下x-webkit-speech -------实现语音输入
本文大部分来源于:
http://www.douban.com/note/153864670/ kejun的子资源原理笔记
个人做学习用,了解页面中script和css文件的合理顺序!
当html代码块(chunk)一旦有效,html parser开始处理它,将标签解析成token形式。
如
<b>hello</b>
解析成7个token
- start-tag {name:b}
- character {data:h}
- character {data:e}
- character {data:l}
- character {data:l}
- character {data:o}
- end-tag {name:b}
所有的token是串行生成的,然后依次送至tree builder,tree builder根据它动态修改DOM tree.
<html> <head> <body> <b> "hello"
subresources(子资源)
tree builder频繁做的事情就是创建html元素,然后插入到文档中。有一些元素会触发加载子资源:
例举常见的:
- <body background>
- <img src>
- <script src>
- <link href>
- <iframe src>
解析算法会尽可能高效地将html源码转成DOM tree。但遇到end-tag {name:script}的token时候,处理会不同。如果script没有defer或者async属性,就会执行。
执行前还要满足两个条件:
- 如果是外联的js,必须完全下载完成再执行
- 为了执行js,页面中所有的样式必须完全下载完成
因为脚本有可能改变DOM,会影响后面的解析
css会影响节点的样式,js可能会访问节点的样式属性
parser完成后,所有脚本执行完,触发DOMContentLoaded事件。接下来,parser会继续等async属性的脚本下载并完成执行,当所有子资源下载完,触发load事件。
扩展阅读:
http://gent.ilcore.com/2011/05/how-web-page-loads.html
发表评论
-
自执行函数相关
2013-05-07 20:39 1358整理几种自执行函数: 在最前最后加括 ... -
一淘首页优化总结
2013-02-01 17:10 0尽量减少DOM节点 不需要初始加载就渲染 ... -
严格模式探究
2013-01-18 17:32 1418探究一下严格模式 ... -
《JavaScript高级程序设计》性能探究之优化DOM交互
2012-10-20 17:50 1420本文来自《JavaScript高级程序设计》阅读笔记 ... -
《JavaScript高级程序设计》性能探究之最小化语句数
2012-10-20 16:18 1374本篇主要整理于《JavaScript高级程序设计》的第三版 6 ... -
关于页面的资源文件组织合理性探究
2012-10-18 13:55 1393本文主要来自于kejun's Blog里面的js和css的顺序 ... -
js性能之最小化重绘和重排(样式相关)
2012-09-22 20:18 1477前面有一篇记录了重绘和重排(http://zhangyaoch ... -
js性能-DOM编程之重绘和重排
2012-09-19 16:59 7173浏览器下载完页面中的所有组件----HTML标记,Js,CSS ... -
IE下的:hover
2012-09-19 16:22 1538从IE7(严格模式下)任何元素都可以使用:hover这 ... -
书写高质量JavaScript代码的要点(The Essentials of Writing High Quality JavaScript)翻译
2012-02-25 17:08 1634前言: 1、文章尾部带有原文的链接和来自zhang ... -
关于ajax类库的局限思考
2012-01-17 20:35 1446目前对于各大前端框架来言,都支持访问一个ajax对象,它屏蔽了 ... -
关于iframe加载完成的判断
2011-10-28 21:18 0//创建iframe var iframe = ... -
你会用string.lastIndexOf()吗?
2011-10-15 16:29 2070很多的人可能会不屑这个问题,请听我慢慢说道。 需求设计 ... -
js性能优化之 Object/Array直接量
2011-10-14 14:30 2664以前可能自己写的时候也有这个习惯,但是理论性的没有认真去中总结 ... -
js性能研究系列之----数据访问相关
2011-09-28 12:42 1513前言: 本来按照自己的计划是推出的是 常用性 ...
相关推荐
监视活动的负载测试查看历史负载测试运行定义负载曲线(容器组) 控制负载测试运行先决条件在安装loads-web之前,需要先安装 ,并在全球范围内安装和模块: $ npm install bower grunt-cli --global发展设置应用...
python库。 资源全名:model_loads-0.2.2-py3-none-any.whl
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
ISO_16750-4-2003-Road_vehicles-Climatic_loads
热应力载荷条件下结构拓扑优化设计,高彤,张卫红,研究了热应力载荷条件下结构拓扑优化设计模型与方法。热应力载荷具有设计相关特性,即热应力载荷的有无取决于结构材料的有无。采
ISO_16750-5-2003-Road_vehicles-Chemical_loads
7--ISO_16750-2-2006_Road_vehicles-Electrical_loads
ISO_16750-3:2012_Part 3:Mechanical loads 标准内容高清可复制,非扫描版。 道路车辆—电气和电子设备的环境条件和测试—第 3 部分:机械载荷 ISO 16750-3:2012 适用于道路车辆的电气和电子系统/组件。 它描述...
ISO_16750-2:2012_Part 2:Electrical loads 标准内容高清可复制,非扫描版。 道路车辆—电气和电子设备的环境条件和测试—第 2 部分:电气负载 ISO 16750-2:2012 适用于道路车辆的电气和电子系统/组件。 它描述...
void tbl_qual_income_record_init_member(tbl_qual_income_record &tmp); int tbl_qual_income_record_select_by_pk(tbl_qual_income_record &tmp); int tbl_qual_income_record_prepared_select_by_pk(tbl_qual...
排队matlab代码电动汽车负载对系统运行的影响 最佳潮流(OPF),目标是使用GAMS最大限度地减少馈线的损耗 课程项目| ECE 666:电源系统操作| 2017年冬季 本报告介绍了插电式电动汽车(PEV)充电需求的建模技术。...
ISO_16750-3-2003-Road_vehicles-Mechanical_load
LOADS
DESIGN OF DPFC UNDER DIFFERENT LOADING CONDITION IN SIMULINK....
Road vehicles — Environmental conditions and testing for electrical and electronic equipment — Part 4: Climatic loads 标准内容高清可复制,非扫描版。 道路车辆—电气和电子设备的环境条件和测试—第 4 ...
ISO 16750-4:2023 适用于道路车辆的电气和电子系统/组件。 ISO 16750-4:2023 描述了潜在的环境压力,并指定了为道路车辆上/内的特定安装位置推荐的测试和要求。 ISO 16750-4:2023 描述了气候负荷。