[发明专利]一种基于AST的网页适配方法及装置在审
申请号: | 202011426538.0 | 申请日: | 2020-12-09 |
公开(公告)号: | CN112463152A | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 张淼 | 申请(专利权)人: | 深圳赛安特技术服务有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/41;G06F16/957;G06F16/958 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ast 网页 配方 装置 | ||
本申请实施例涉及数据处理技术领域,提供了一种基于抽象语法树AST的网页适配方法及装置,包括:服务器将第一网页的超文本标记语言HTML数据解析为对应的文档对象模型DOM,所述DOM包括所述HTML数据的标签和多层节点;所述服务器将所述DOM转换为AST;所述服务器根据所述AST生成第二网页,所述第一网页为在第一终端设备显示的网页,所述第二网页为在第二终端设备显示的网页,所述第一网页与所述第二网页的尺寸不同。本申请实施例,可以提高网页适配速率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于抽象语法树(abstract syntaxtree,AST)的网页适配方法及装置。
背景技术
随着互联网的普及,人们可以在各种不同尺寸的终端设备浏览网页,例如,笔记本电脑、台式机电脑、平板电脑、手机等。不同终端设备的显示器屏幕大小可能是不同的,显示器屏幕大小的不同可能会影响网页的显示效果。因此,如何在不同尺寸显示器屏幕下都能正确展示网页内容成为了对网页开发的基本要求。
对网页的开发,通常是做响应式开发,即在文档对象模型(document objectmodel,DOM)层面,通过大量的层叠样式表(cascading style sheets,CSS)代码对页面元素做适配。在DOM层面去对页面元素进行大量的适配转换时,由于代码冗余,致使网页适配速率较低。
发明内容
鉴于上述问题,本申请提出了一种基于AST的网页适配方法及装置,可以提高网页适配速率。
第一方面,本申请实施例提供了一种基于AST的网页适配方法,可以包括:服务器将第一网页的超文本标记语言HTML数据解析为对应的文档对象模型DOM,所述DOM包括所述HTML数据的标签和多层节点;所述服务器将所述DOM转换为AST;所述服务器根据所述AST生成第二网页,所述第一网页为在第一终端设备显示的网页,所述第二网页为在第二终端设备显示的网页,所述第一网页与所述第二网页的尺寸不同。
在本申请实施例中,服务器可以将第一网页的HTML数据解析为对应的DOM,该DOM可以包括HTML数据的标签和多层节点,将DOM转换为AST,再根据AST生成第二网页。服务器通过将第一网页的HTML数据对应的DOM转换为AST,从而可以不在DOM层面做适配,实现在js脚本语言层面对网页的屏幕适配,提高网页适配的速率。
在一种可能实现的方式中,所述将所述DOM元素转换为AST元素包括:获取CSS属性与DOM元素之间的对应关系;确定所述AST元素,所述AST元素包括所述对应关系。
在一种可能实现的方式中,所述服务器将所述DOM转换为AST包括:所述服务器遍历所述多层节点中每层节点的子元素,得到所述每层节点对应的标签数组,所述每层节点对应的标签数组包括所述每层节点的子元素、所述每层节点的子元素的标签和所述每层节点的子元素的属性;对所述每层节点对应的标签数组进行正则匹配得到所述每层节点对应的对象数组;根据所述每层节点对应的对象数组确定多层节点对应的对象数组。
在一种可能实现的方式中,所述服务器根据所述AST生成第二网页包括:所述服务器设置所述AST的根节点的字体尺寸属性;所述服务器根据所述多层节点对应的对象数组和所述AST的根节点的字体尺寸属性生成所述第二网页。
在一种可能实现的方式中,所述服务器设置所述AST的根节点的字体尺寸属性包括:所述服务器获取所述第二终端设备的屏幕宽度和所述第二网页的设计稿宽度;所述服务器根据所述第二终端设备的屏幕宽度和所述第二网页的设计稿宽度设置所述AST的根节点的字体尺寸属性。
在一种可能实现的方式中,所述服务器根据所述第二终端设备的屏幕宽度和所述第二网页的设计稿宽度设置所述AST的根节点的字体尺寸属性包括:所述服务器确定所述第二网页的设计稿宽度与预设属性值之间的比值为相对宽度;所述服务器确定所述第二终端设备的屏幕宽度与所述相对宽度之间的比值为所述AST的根节点的字体尺寸属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳赛安特技术服务有限公司,未经深圳赛安特技术服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011426538.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种法律数据储存装置
- 下一篇:一种神经内科临床用多功能检查装置