浏览器下载完页面内的所有组件:html、css、js、图片等发生下列的过程
1、解析html,构建dom树
2、解析css,生成css规则树
3、合并dom树和css树,生成render树
4、布局render树,负责各个元素的尺寸、位置的计算 (cpu来完成)
5、绘制render树,绘制页面的像素信息
6、浏览器会将各层的信息发送给GPU,GPU来将各层来合成
dom是文档对象模型用来获取或设置文档中标签的属性 。
bom是浏览器对象模型用来获取浏览器的属性、行为。例如:新建窗口、获取屏幕分辨率、浏览器的版本号。
dmo和js的位置:
在IE中,JavaScript的实现名为JScript,位于jscript.dll文件中,DOM的实现 则存在另一个库中,名为mshtml.dll(内部称为trident)。
safari中的DOM和渲染是使用webkit中的webcore实现,JavaScript部分是由独立的SquirelFish引擎来实现。
google chrome使用webkit中的webCore库来渲染页面,但JavaScript引擎是他们自己研发的,名为V8。
firefox的JavaScript引擎名为TraceMonkey,与名为Gecko的渲染引擎相互独立。