[发明专利]服务端页面渲染方法及装置在审
申请号: | 201811092585.9 | 申请日: | 2018-09-19 |
公开(公告)号: | CN110929188A | 公开(公告)日: | 2020-03-27 |
发明(设计)人: | 麦文安 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957;G06F16/958 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 史翠;王宝筠 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务端 页面 渲染 方法 装置 | ||
本发明公开了一种服务端页面渲染方法及装置,服务端为页面文件中每个页面元素相匹配的样式对象生成唯一标识;而且,服务端生成的目标页面文件和目标样式文件中均包含样式对象对应的唯一标识。因此,客户端从服务端请求获得目标页面文件及目标样式文件后,从目标页面文件中获得每个页面元素所对应的样式对象的唯一标识,从目标样式文件中获取每个样式对象对应的样式,最终得到可展示的页面。由于每个样式对象都有一个唯一标识,根据该唯一标识能够确定唯一对应的样式对象,所以不会出现某个页面元素的样式被其它页面元素的样式覆盖的问题,提高了服务端页面渲染的准确率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务端页面渲染方法及装置。
背景技术
页面渲染是从一个网页的统一资源定位符(uniform resource locator,URL)开始,根据该URL所对应的各项资源,输出可视化页面的过程。
页面渲染包括服务端渲染和客户端渲染,渲染的本质都是将数据渲染进页面文件代码中形成完整的页面文件以便进行展示。服务端渲染与客户端渲染的区别在于:将数据渲染进页面文件中形成完成页面文件的过程由谁完成。服务端页面渲染是指由服务端完成渲染过程,即服务端在向客户端返回页面文件之前,例如,超文本标记语言(hyper textmarkup language,HTML),在特定的区域、符号里用数据填充,生成完整的页面文件,再将该页面文件返回给客户端,客户端只负责解析该完整的页面文件。
样式文件,例如,层叠样式表(cascading style sheets,CSS),是一种用来表现html或xml等文件样式的计算机语言。CSS使用全局选择器机制来设置页面样式,导致所有样式全局生效,某一页面的样式可能会被不同页面或组件的样式所覆盖,即存在样式全局污染的问题。
发明内容
鉴于上述问题,本发明提供了一种服务端页面渲染方法及装置,以解决样式全局污染的技术问题,其具体的而技术方案如下:
第一方面,本申请提供了一种服务端页面渲染方法,包括:
解析原始页面文件得到该原始页面文件所包含的页面元素,以及该原始页面文件对应的原始样式文件;
获取所述原始样式文件所包含的样式对象,并为每个所述样式对象生成唯一标识,每个所述样式对象包括样式选择器名称及样式表达式内容;
建立所述原始样式文件中各个所述样式对象及对应的唯一标识之间的映射关系,得到目标样式文件,所述目标样式文件包含所述样式对象及所述映射关系;
根据所述样式对象的样式表达内容,查找到与该样式对象相匹配的页面元素;
分别建立各个所述页面元素与相匹配的所述样式对象的唯一标识之间的映射关系,得到目标页面文件,所述目标页面文件包括所述页面元素及该页面元素相匹配的样式对象的唯一标识,所述目标页面文件用于使客户端解析获得页面元素对应的样式对象的唯一标识,并从所述目标样式文件中获取与该唯一标识对应的样式对象。
在第一方面一种可能的实现方式中,所述为每个所述样式对象生成唯一标识,包括:利用哈希算法计算所述样式对象的唯一值。
在第一方面另一种可能的实现方式中,所述利用哈希算法计算所述样式对象的唯一值,包括:
以所述样式对象对应的样式表达式内容为参数并利用哈希算法,计算得到所述样式对象对应的唯一值。
在第一方面又一种可能的实现方式中,所述根据所述样式对象的样式表达式内容,查找与该样式对象相匹配的页面元素,包括:
对于每个所述样式对象,将该样式对象的样式表达式内容与所述原始页面文件对应的原始页面元素对象树中的每个节点进行比较,得到与所述样式表达式内容相匹配的页面元素;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811092585.9/2.html,转载请声明来源钻瓜专利网。