[发明专利]一种DOM渲染网页的方法、装置、终端和存储介质有效
申请号: | 201811384490.4 | 申请日: | 2018-11-20 |
公开(公告)号: | CN109542417B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 董永清;沈妮 | 申请(专利权)人: | 北京小米移动软件有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F16/958 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 胡业勤 |
地址: | 100085 北京市海淀区清河*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dom 渲染 网页 方法 装置 终端 存储 介质 | ||
1.一种DOM渲染网页的方法,其特征在于,所述方法包括:
在目标应用对应的模板中增加类型为逻辑虚拟类型的第一DOM节点,所述模板基于传统DOM架构实现,所述逻辑虚拟类型的第一DOM节点用于存储逻辑控制信息;
在所述模板的每个第一DOM节点中增加内部属性,所述内部属性用于标识所述第一DOM节点是否参与布局和渲染;
当所述目标应用运行时,根据所述每个第一DOM节点的类型,实例化所述每个第一DOM节点,得到每个第二DOM节点;
根据所述每个第一DOM节点的内部属性,将所述每个第二DOM节点插入所述模板中;
将所述模板的每个第二DOM节点进行初始化,得到JavaScript端的第一DOM树,所述第一DOM树包含用于渲染的节点和用于逻辑控制的节点;
当所述目标应用渲染网页时,根据所述第一DOM树,对所述目标应用的静态页面布局进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个第一DOM节点的类型,实例化所述每个第一DOM节点,得到每个第二DOM节点,包括:
对于每个第一DOM节点,当所述第一DOM节点的类型为渲染类型时,创建所述渲染类型的第二DOM节点,所述渲染类型的第二DOM为传统DOM架构中的原生节点,且用于参与渲染;
当所述第一DOM节点的类型为逻辑虚拟类型时,创建所述逻辑虚拟类型的第二DOM节点,所述逻辑虚拟类型的第二DOM节点用于进行逻辑控制。
3.根据权利要求1所述的方法,其特征在于,所述根据所述每个第一DOM节点的内部属性,将所述每个第二DOM节点插入所述模板中,包括:
对于每个第一DOM节点,根据所述第一DOM节点的第一内部属性,确定所述第一DOM节点是否参与布局;
当所述第一DOM节点参与布局时,将所述第一DOM节点对应的第二DOM节点插入到模板中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述第一DOM节点参与布局时,根据所述第一DOM节点的第二内部属性,确定所述第一DOM节点是否参与渲染;
当所述第一DOM节点参与渲染时,将所述第一DOM节点对应的第二DOM节点的节点标识存储到缓存消息队列中;
根据所述缓存消息队列,构建本地应用端的第二DOM树,所述第二DOM树用于构建所述静态页面布局。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述第一DOM节点不参与渲染时,根据所述第一DOM节点的子节点的控制逻辑,确定所述第一DOM节点的子节点是否满足逻辑控制条件;
当所述第一DOM节点的子节点满足逻辑控制条件时,将所述第一DOM节点的子节点插入所述模板。
6.根据权利要求1所述的方法,其特征在于,所述将所述模板的每个第二DOM节点进行初始化,得到所述JavaScript端的第一DOM树,包括:
对于所述每个第二DOM节点,当所述第二DOM节点的类型为渲染类型时,建立包括所述第二DOM节点的组件与组件信息的绑定关系;
当所述第二DOM节点的类型为逻辑虚拟类型时,根据所述第二DOM节点的控制逻辑,建立逻辑控制机制;
根据所述每个第二DOM节点、所述绑定关系和所述逻辑控制机制,生成所述第一DOM树。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米移动软件有限公司,未经北京小米移动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811384490.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高速波形的均衡方法
- 下一篇:Service代码生成方法及计算机终端