html解析流程
2014-09-18 19:42:25 9 举报
HTML解析流程是浏览器接收到HTML代码后,对其进行解析并渲染成网页的过程。首先,浏览器会创建一个DOM树,将HTML元素和文本节点添加到树中。接着,浏览器会根据CSS样式表为每个元素应用样式。然后,浏览器会计算每个元素的布局,包括位置、大小和边距等。接下来,浏览器会绘制每个元素,包括文本、图像、背景等。最后,浏览器会执行JavaScript代码,处理交互事件和动画效果。整个过程涉及到多个步骤和技术,如HTML语法、CSS样式、布局计算、渲染引擎等。
作者其他创作
大纲/内容
HtmNode* m_htmNodeStack;HtmNode* m_htmNodeCollect;std::vector m_htmNodePool;UrlStack\t\tm_urlStack;ScopeHtmBox\t\tm_topBox;BodyExtData\t\tm_topExts;std::vector m_stack;ExcelStyles m_excelStyles;StrId\t\t\tm_sourceUrl;StrId\t\t\tm_basePath;
child
html
head
div等
包含
创建一个节点HtmNode赋给s_ctx-m_htmNodeStack,并设置属性m_name和m_slotsId,其内容也当做一个HtmBoxAltImpl节点加入m_children;其m_next为父标签或Null。
判断标签
开始标签
body
对标签及属性不进行处理,只对后面的内容当做一个HtmBoxAltImpl节点加入s_ctx-m_htmNodeStack的m_children中。
static s_ctx为指向ParseContext的指针
平铺标签
结束标签
(1)将ParseNode类的m_tbls赋给了BodyExtData类对象ext的属性tbls。(2)将spHtml赋给s_ctx-m_topBox,将ext赋给s_ctx-m_topExts。(3)将s_ctx-m_topBox赋给htmlMain,将s_ctx-m_topExt赋给bodyExt。(4)将htmlMain加入到htmDoc-m_topBoxs中;将bodyExt加入到htmDoc-m_extDatas中.(5)将三个其他的节点(关于path的)加入到HtmDocument的指针htmDoc-m_extNodes中;
解析完后
注释的标签
0 条评论
下一页