浏览器内核的排版结构展现方法及装置与流程

文档序号:12063806阅读:来源:国知局

技术特征:

1.一种浏览器内核的排版结构展现方法,其特征在于,所述方法包括:

当在网页中检测到排版结构展现指令时,按照浏览器内核包括的多个阶段的数据属性,获取所述网页在排版的过程中各个阶段的页面排版数据,所述浏览器内核为当前显示所述网页的浏览器的内核;

基于所述各个阶段的页面排版数据,构建内容树,所述内容树中包括多个节点;

确定所述内容树包括的多个节点的空间位置以及所述多个节点的节点样式;

按照所述多个节点的空间位置和节点样式,绘制所述浏览器内核的排版结构视图,显示所述排版结构视图。

2.如权利要求1所述的方法,其特征在于,所述确定所述内容树包括的多个节点的空间位置以及所述多个节点的节点样式,包括:

对于所述内容树包括的多个节点中的每个节点,确定所述节点的横向位置、纵向位置和轴向位置;

基于所述多个节点的节点标识,从存储的节点标识与节点样式之间的对应关系中,获取对应的节点样式。

3.如权利要求2所述的方法,其特征在于,所述确定所述节点的横向位置、纵向位置和轴向位置,包括:

确定所述节点的宽度和节点距离,基于所述节点的宽度和所述节点距离,确定所述节点的横向位置,所述节点距离是指所述节点在横向方向上与坐标原点之间的距离;

基于所述节点在所述内容树的树结构中的深度,确定所述节点的纵向位置;

根据所述节点的属性信息和所述网页的网页信息,确定所述节点的轴向位置,所述节点的属性信息用于指示所述节点在所述排版结构视图中所处的层次。

4.如权利要求3所述的方法,其特征在于,所述确定所述节点的宽度和节点距离,包括:

判断所述节点是否包括有子节点,当所述节点不包括有子节点时,确定所述节点的宽度为第一预设宽度;当所述节点包括有N个子节点时,将所述N个子节点的宽度和N-1个子节点之间的间隔宽度之和确定为所述节点的宽度,所述N为大于或等于1的正整数;

判断所述节点是否属于父节点的子节点,当所述节点不属于所述父节点的子节点时,确定所述节点的节点距离为预设长度,当所述节点属于所述父节点的第i个子节点时,确定第一数值,并将所述父节点的节点距离与所述第一数值之和确定为所述节点的节点距离,所述第一数值为所述父节点包括的子节点中前i-1个子节点的宽度和所述前i-1个子节点之间的间隔宽度之和。

5.如权利要求4所述的方法,其特征在于,所述基于所述节点的宽度和所述节点距离,确定所述节点的横向位置,包括:

基于所述节点的宽度和所述节点距离,通过第一指定公式,确定所述节点的横向位置;

所述第一指定公式为:

<mrow> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>=</mo> <mi>o</mi> <mi>f</mi> <mi>f</mi> <mi>s</mi> <mi>e</mi> <mi>t</mi> <mo>+</mo> <mfrac> <mrow> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>W</mi> </mrow> <mn>2</mn> </mfrac> <mo>;</mo> </mrow>

其中,所述Xi为所述节点的横向位置,所述offset为所述节点的节点距离,所述Wi为所述节点的宽度,所述W为所述第一预设宽度。

6.如权利要求3所述的方法,其特征在于,所述基于所述节点在所述内容树的树结构中的深度,确定所述节点的纵向位置,包括:

确定第二数值,所述第二数值为所述节点的高度与在纵向方向上相邻两个节点之间的间隔高度之和;

将所述第二数值与所述节点在所述内容树的树结构中的深度之间的乘积确定为所述节点的纵向位置。

7.如权利要求3所述的方法,其特征在于,所述根据所述节点的属性信息和所述网页的网页内容,确定所述节点的轴向位置,包括:

根据所述节点的属性信息,确定所述节点在所述排版结构视图所处的层次;

根据所述网页的页面信息,确定所述排版结构视图中包括的排版视图的层数以及每层排版视图的厚度;

基于所述节点在所述排版结构视图所处的层次、所述排版结构视图中包括的排版视图的层数以及每层排版视图的厚度,确定所述节点的轴向位置。

8.如权利要求1所述的方法,其特征在于,所述方法还包括:

当检测到目标节点的预设操作时,获取所述目标节点的节点信息,所述目标节点为所述排版结构视图中的任一节点,所述节点信息包括所述目标节点的显示位置、大小和显示格式;

显示所述节点信息。

9.一种浏览器内核的排版结构展现装置,其特征在于,所述装置包括:

第一获取模块,用于当在网页中检测到排版结构展现指令时,按照浏览器内核包括的多个阶段的数据属性,获取所述网页在排版的过程中各个阶段的页面排版数据,所述浏览器内核为当前显示所述网页的浏览器的内核;

构建模块,用于基于所述第一获取模块获取的所述各个阶段的页面排版数据,构建内容树,所述内容树中包括多个节点;

确定模块,用于确定所述构建模块构建的所述内容树包括的多个节点的空间位置以及所述多个节点的节点样式;

绘制模块,用于按照所述确定模块确定的所述多个节点的空间位置和节点样式,绘制所述浏览器内核的排版结构视图,显示所述排版结构视图。

10.如权利要求9所述的装置,其特征在于,所述确定模块包括:

确定子模块,用于对于所述内容树包括的多个节点中的每个节点,确定所述节点的横向位置、纵向位置和轴向位置;

获取子模块,用于基于所述多个节点的节点标识,从存储的节点标识与节点样式之间的对应关系中,获取对应的节点样式。

11.如权利要求10所述的装置,其特征在于,所述确定子模块用于:

确定所述节点的宽度和节点距离,基于所述节点的宽度和所述节点距离,确定所述节点的横向位置,所述节点距离是指所述节点在横向方向上与坐标原点之间的距离;

基于所述节点在所述内容树的树结构中的深度,确定所述节点的纵向位置;

根据所述节点的属性信息和所述网页的网页信息,确定所述节点的轴向位置,所述节点的属性信息用于指示所述节点在所述排版结构视图中所处的层次。

12.如权利要求11所述的装置,其特征在于,所述确定子模块用于:

判断所述节点是否包括有子节点,当所述节点不包括有子节点时,确定所述节点的宽度为第一预设宽度;当所述节点包括有N个子节点时,将所述N个子节点的宽度和N-1个子节点之间的间隔宽度之和确定为所述节点的宽度,所述N为大于或等于1的正整数;

判断所述节点是否属于父节点的子节点,当所述节点不属于所述父节点的子节点时,确定所述节点的节点距离为预设长度,当所述节点属于所述父节点的第i个子节点时,确定第一数值,并将所述父节点的节点距离与所述第一数值之和确定为所述节点的节点距离,所述第一数值为所述父节点包括的子节点中前i-1个子节点的宽度和所述前i-1个子节点之间的间隔宽度之和。

13.如权利要求12所述的装置,其特征在于,所述确定子模块用于:

基于所述节点的宽度和所述节点距离,通过第一指定公式,确定所述节点的横向位置;

所述第一指定公式为:

<mrow> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>=</mo> <mi>o</mi> <mi>f</mi> <mi>f</mi> <mi>s</mi> <mi>e</mi> <mi>t</mi> <mo>+</mo> <mfrac> <mrow> <msub> <mi>W</mi> <mi>i</mi> </msub> <mo>-</mo> <mi>W</mi> </mrow> <mn>2</mn> </mfrac> <mo>;</mo> </mrow>

其中,所述Xi为所述节点的横向位置,所述offset为所述节点的节点距离,所述Wi为所述节点的宽度,所述W为所述第一预设宽度。

14.如权利要求11所述的装置,其特征在于,所述确定子模块用于:

确定第二数值,所述第二数值为所述节点的高度与在纵向方向上相邻两个节点之间的间隔高度之和;

将所述第二数值与所述节点在所述内容树的树结构中的深度之间的乘积确定为所述节点的纵向位置。

15.如权利要求11所述的装置,其特征在于,所述确定子模块用于:

根据所述节点的属性信息,确定所述节点在所述排版结构视图所处的层次;

根据所述网页的页面信息,确定所述排版结构视图中包括的排版视图的层数以及每层排版视图的厚度;

基于所述节点在所述排版结构视图所处的层次、所述排版结构视图中包括的排版视图的层数以及每层排版视图的厚度,确定所述节点的轴向位置。

16.如权利要求9所述的装置,其特征在于,所述装置还包括:

第二获取模块,用于当检测到目标节点的预设操作时,获取所述目标节点的节点信息,所述目标节点为所述排版结构视图中的任一节点,所述节点信息包括所述目标节点的显示位置、大小和显示格式;

显示模块,用于显示所述节点信息。

17.一种浏览器内核的排版结构展现装置,其特征在于,所述装置包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

当在网页中检测到排版结构展现指令时,按照浏览器内核包括的多个阶段的数据属性,获取所述网页在排版的过程中各个阶段的页面排版数据,所述浏览器内核为当前显示所述网页的浏览器的内核;

基于所述各个阶段的页面排版数据,构建内容树,所述内容树中包括多个节点;

确定所述内容树包括的多个节点的空间位置以及所述多个节点的节点样式;

按照所述多个节点的空间位置和节点样式,绘制所述浏览器内核的排版结构视图,显示所述排版结构视图。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1