[发明专利]浏览器兼容性提升方法、装置、设备及存储介质有效
申请号: | 202011302811.9 | 申请日: | 2020-11-19 |
公开(公告)号: | CN112379917B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 周利杰 | 申请(专利权)人: | 康键信息技术(深圳)有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/76 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 姚维 |
地址: | 518052 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 浏览器 兼容性 提升 方法 装置 设备 存储 介质 | ||
本发明涉及研发管理领域,公开了一种浏览器兼容性提升方法、装置、设备及存储介质,提升浏览器的兼容性,该方法包括:获取浏览器的前端文件;将前端文件输入语法分析器,解析为第一抽象语法树;遍历第一抽象语法树,获取其中各节点的代码实现版本;将各节点中代码实现版本高于预设版本的节点的代码用预设版本的代码替换,得到第二抽象语法树;遍历第二抽象语法树,将第二抽象语法树的不兼容节点的代码用对应的兼容性代码替换;将代码替换后的第二抽象语法树输入语法分析器,通过语法分析器将第二抽象语法树转换为兼容性前端文件,并将兼容性前端文件输入浏览器的工程目录中。此外,本发明还涉及区块链技术,前端文件可存储于区块链中。
技术领域
本发明涉及研发管理领域,尤其涉及一种浏览器兼容性提升方法、装置、设备及存储介质。
背景技术
随着社会的发展,越来越多的用户通过浏览器进行网页浏览,同在,越来越多的工作流也由桌面应用转移至浏览器端使用。伴随在新颖技术不停迭代的当下,显得有心无力,遗留了众多不兼容、不规范API,为了使用户体验一致化,低版本浏览器使用高级方法及属性,延伸出了Polyfill概念。Polyfill是一块代码(通常是Web上的JavaScript),用来为低版本浏览器提供没有原生支持的较新功能。比如,Object.assign方法,它用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。在业务开发过程中,该方法大大提高了合并及潜拷贝对象的开发效率,但由于低版本IE浏览器的不兼容,导致用户效验下降,甚至无用户体验,此时Polyfill解决了向下兼容的问题,使用户体验一致化。但Polyfill也并不是没有缺点,它仅针对低版本浏览器不兼容的方法及属性去做补丁修复。对于语法层面,仍然无能为力,且大量的Polyfill检测会一定程度上影响应用性能。
发明内容
本发明的主要目的在于解决现有的低版本浏览器语法的兼容性低的技术问题。
本发明第一方面提供了一种浏览器兼容性提升方法,包括:
获取浏览器的前端文件;
将所述前端文件输入预设的语法分析器,通过所述语法分析器将所述前端文件解析为第一抽象语法树;
遍历所述第一抽象语法树的所有节点,获取所述第一抽象语法树中各节点的代码实现版本;
将所有所述第一抽象语法树的节点中代码实现版本高于预设版本的节点的代码用预设版本的代码替换降低所述第一抽象语法树中实现方式高于预设版本的节点的版本,得到第二抽象语法树;
遍历所述第二抽象语法树的所有节点,并将所述第二抽象语法树所有的所有节点中的不兼容节点的代码用对应的兼容性代码替换;
将代码替换后的第二抽象语法树输入所述语法分析器,通过所述语法分析器将所述第二抽象语法树转换为兼容性前端文件,并将所述兼容性前端文件输入所述浏览器的工程目录中。
可选的,在本发明第一方面的第一种实现方式中,所述将所述前端文件输入预设的语法分析器,通过所述语法分析器将所述前端文件解析为第一抽象语法树包括:
将所述前端文件输入所述语法分析器,通过所述语法分析器对所述前端文件进行词法分析,将所述前端文件转换为由词法单元组成的数组;
根据所述数组生成所述前端文件的第一抽象语法树。
可选的,在本发明第一方面的第二种实现方式中,所述将所述前端文件输入所述语法分析器,通过所述语法分析器对所述前端文件进行词法分析,将所述前端文件转换为由词法单元组成的数组包括:
将所述前端文件输入所述语法分析器,通过所述语法分析器对所述前端文件的源代码进行逐行扫描并将所述源代码分解成词法单元,其中,所述词法单元为编程语言中字符串形式的基本单词符号;
将所述词法单元序列组合成数组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于康键信息技术(深圳)有限公司,未经康键信息技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011302811.9/2.html,转载请声明来源钻瓜专利网。