javascript - 浏览器首次渲染页面的时间点是?
巴扎黑
巴扎黑 2017-04-11 11:47:20
[JavaScript讨论组]

我知道浏览器渲染页面时,首先构建DOM和CSSOM,然后合并成渲染树,然后对渲染树进行布局之后进行绘制。

但是这里我有两个问题。

1:前端优化里有条规则是说为了更快的渲染,将css放在头部,否则会出现FOUC(谷歌的表现为白屏,火狐为闪烁)。那我的问题是构建渲染树的同时绘制,还是等渲染树完全构建完成后进行绘制(也就是解析到html最后一个标签)?从谷歌开发工具来看并不是DOMContentLoaded后渲染。

2:我知道JS会阻塞DOM树构建,那是不是在script标签后面如果有css文件,就要等JS执行完才继续构建渲染树,然后绘制?

巴扎黑
巴扎黑

全部回复(1)
大家讲道理

1:浏览器执行的所有步骤:

  1. 处理 HTML 标记,构建 DOM 树。

  2. 处理 CSS 标记,构建 CSSOM 树。

  3. 将 DOM 树和 CSSOM 树融合成渲染树。

  4. 根据渲染树来布局,计算每个节点的几何信息。

  5. 在屏幕上绘制各个节点。

2:浏览器会延迟脚本执行,直到完成 CSSOM 下载与构建,而在我们等待时,DOM 构建同样被阻塞。
我也是根据参考资料来尝试回答问题,可以前往构建对象模型

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号