【Render】如何将数据渲染到页面?渲染数据的流程

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【Render】如何将数据渲染到页面?渲染数据的流程

之前我们了解了什么是渲染

即:将我们想要表达的东西表达出去,就是渲染。表达后,呈现出来我们想表达的东西,叫渲染成功。
今天研究一下渲染的机制,到底浏览器是怎么进行渲染的?

我们知道HTML与 JavaScript 和 CSS 共同构成了我们所看到的网页,其中:


HTML 用来定义网页的内容,例如标题、正文、图像等;

CSS 用来控制网页的外观,例如颜色、字体、背景等;

JavaScript 用来实时更新网页中的内容,例如从服务器获取数据并更新到网页中,修改某些标签的样式或其中的内容等,可以让网页更加生动。

生动的说:html制造了一个人,css给一个人穿了衣服,可这时候这个人还不会动,是“植物人”。JavaScript让这个人就有了动作,这个人就是一个完整的人了。

所以学会JavaScript,首先要干的事情就是搞明白渲染的逻辑。不然写一堆数据不知道怎么渲染,浏览器中没有任何显示,还经常报错,会让学习的人没有心情,没有动力,甚至止步于此。


我们简单的做一个换位思考:如果我们自己是浏览器,现在接收到了一个html文件,我们应该怎么样去解析,执行?

浏览器在做这件事的时候,是有自己的逻辑和顺序的。


1.首先,下载并打开这个html文件,从第一行开始解析html中的代码。


2.浏览器在解析HTML的过程中,如果发现 HTML 文本里面有一些外部的资源链接,比如 CSS、JS ,图片和Canvas画布等,会立即启用别的线程下载这些静态资源。


3.在 head 中遇到 JS 文件时,HTML 的解析会停 下来,等 JS 文件下载结束并且执行完,HTML 的解析工作再接着来,防止 JS 修改已经完成的解析结果。


4.接着,创建DOM树。什么是DOM树?DOM 的全称是:文档对象模型(Document Object Model),在 HTML 解析时,浏览器自带的解析器会把解析完的 HTML转化成 DOM 对象,再进一步构建 DOM 树。


5.当 CSS 下载完,CSS 解析器就开始对 CSS 进行解析,把 CSS 解析成 CSS 对象,然后把这些 CSS 对象组装成一颗 CSSOM 树。


6.当DOM 树和 CSSOM 树都构建完成以后,浏览器会根据这两棵树构建出一棵渲染树。


7.紧接着,就到了渲染树构建完成之后。这个时候所有元素的位置关系和需要应用的样式就确定了。这时候浏览器会计算出所有元素的大小,尺寸,位置,以及各种样式。


8.布局计算完成以后,浏览器就可以在页面上渲染元素了,经过渲染引擎的处理后,整个页面就显示在了屏幕上。


有人会问,如果我css文件引入到html时,写错了,没有成功引入,浏览器解析器咋办?


很简单,如果出现这种情况,浏览器没找到css文件,就不会识别,解析器反而省事了。


相关文章
|
7月前
|
JavaScript 前端开发 测试技术
|
9月前
|
前端开发
在有状态组件中使用forceUpdate()方法重新渲染
在React类组件中使用`forceUpdate()`重新渲染的步骤包括:继承`React.Component`,定义`updateComponent`方法调用`forceUpdate`,并在模块热替换回调中调用此方法。示例代码展示了如何实现。注意,这种方式需要手动创建和管理组件实例,不适合React Hooks,应优先考虑使用`useState`或`useReducer`来更新状态并触发渲染。
|
9月前
|
JavaScript 前端开发 API
vue改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
vue改变数组页面重新渲染的操作/那些操作不会重新渲染页面以及解决方法
278 2
|
9月前
|
数据采集 资源调度 前端开发
React的服务器端渲染:使用ReactDOMServer进行高效页面预渲染
【4月更文挑战第25天】使用ReactDOMServer,React支持服务器端渲染以实现高效预渲染。通过在Node.js环境中将React组件转化为HTML字符串,减少客户端JavaScript负载和渲染时间。优点包括更快首屏加载、改善SEO和兼容无JavaScript环境,但也会增加服务器负载、复杂性和状态管理挑战。开发者需根据项目需求平衡SSR和CSR。
|
9月前
|
JavaScript
vue多条数据渲染(带图片)
vue多条数据渲染(带图片)
57 1
|
9月前
|
缓存 自然语言处理 JavaScript
Vue 3 渲染机制解密:从模板到页面的魔法
Vue 3 渲染机制解密:从模板到页面的魔法
398 0
|
9月前
|
JavaScript 前端开发 索引
Vue 条件渲染 与 列表渲染
Vue 条件渲染与列表渲染 介绍及演示。
86 0
|
9月前
|
存储 JavaScript 数据处理
uniapp获取接口数据并渲染至页面中
uniapp获取接口数据并渲染至页面中
458 0
|
JSON 小程序 JavaScript
小程序调用天气接口并且渲染在页面
小程序调用天气接口并且渲染在页面
84 0
|
JavaScript 算法 前端开发
【Vue】条件渲染&列表渲染来啦(下)
【Vue】条件渲染&列表渲染来啦(下)