一种页面渲染方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:33708624 阅读:18 留言:0更新日期:2022-06-06 08:36
本公开提供了一种页面渲染方法、装置、计算机设备和存储介质,其中,该方法包括:获取在跨端框架上编译得到的待转换文件,待转换文件用于加载目标页面;基于浏览器对应的可运行语言,对待转换文件进行文件解码,得到目标页面对应的且与可运行语言相匹配的组件结构指令和页面执行逻辑文件;利用可运行语言对应的第一代码运行引擎,运行组件结构指令,并基于运行结果得到目标页面对应的页面组件信息;根据页面组件信息和页面执行逻辑文件,渲染得到目标页面。标页面。标页面。

【技术实现步骤摘要】
一种页面渲染方法、装置、计算机设备和存储介质


[0001]本公开涉及计算机
,具体而言,涉及一种页面渲染方法、装置、计算机设备和存储介质。

技术介绍

[0002]为满足应用程序端上展示的页面的高性能动态变化需求,出现了跨端解决方案,也即在跨端框架上编写并编译得到高性能的页面代码文件,应用程序端在获取到编译后的页面代码文件后,先下载跨端框架对应的插件,再利用下载完成的插件运行编译后的页面代码文件,即可渲染得到符合高性能动态变化需求的目标页面。
[0003]但在插件下载失败的情况下,应用程序端对应的浏览器无法直接运行获取的编译后的页面代码文件,从而将产生无法渲染出目标页面,甚至应用程序端闪退的问题。

技术实现思路

[0004]本公开实施例至少提供一种页面渲染方法、装置、计算机设备和存储介质。
[0005]第一方面,本公开实施例提供了一种页面渲染方法,包括:
[0006]获取在跨端框架上编译得到的待转换文件,所述待转换文件用于加载目标页面;
[0007]基于浏览器对应的可运行语言,对所述待转换文件进行文件解码,得到所述目标页面对应的且与所述可运行语言相匹配的组件结构指令和页面执行逻辑文件;
[0008]利用所述可运行语言对应的第一代码运行引擎,运行所述组件结构指令,并基于运行结果得到所述目标页面对应的页面组件信息;
[0009]根据所述页面组件信息和所述页面执行逻辑文件,渲染得到所述目标页面。
[0010]在一种可能的实施方式中,所述基于浏览器对应的可运行语言,对所述待转换文件进行文件解码,得到所述目标页面对应的且与所述可运行语言相匹配的组件结构指令和页面执行逻辑文件,包括:
[0011]基于所述浏览器对应的可运行语言,对所述待转换文件进行文件解码,得到所述目标页面对应的且与可运行语言相匹配的可执行结构信息、所述页面执行逻辑文件和页面样式代码文件;
[0012]将所述可执行结构信息,转换为在所述浏览器中可执行的所述组件结构指令;
[0013]所述运行所述组件结构指令,并基于运行结果得到所述目标页面对应的页面组件信息,包括:
[0014]运行所述组件结构指令,得到所述运行结果,并将所述运行结果和所述页面样式代码文件进行结合,得到所述目标页面对应的页面组件信息。
[0015]在一种可能的实施方式中,所述运行所述组件结构指令,包括:
[0016]运行所述组件结构指令,得到所述目标页面中的各组件对应的虚拟节点树信息;并将所述虚拟节点树信息转换为所述各组件对应的可加载节点树信息;
[0017]所述运行结果包括所述可加载节点树信息,所述将所述运行结果和所述页面样式
代码文件进行结合,得到所述目标页面对应的页面组件信息,包括:
[0018]利用页面布局引擎,将所述可加载节点树信息和所述页面样式代码文件进行结合,得到所述页面组件信息。
[0019]在一种可能的实施方式中,所述页面样式代码文件包括所述各组件对应的组件样式文件;
[0020]所述将所述可加载节点树信息和所述页面样式代码文件进行结合,得到所述页面组件信息,包括:
[0021]根据所述可加载节点树信息,确定所述各组件的位置信息,并根据所述组件样式文件,确定所述各组件对应的组件样式;
[0022]将所述各组件的位置信息和所述各组件对应的组件样式进行结合,得到所述页面组件信息。
[0023]在一种可能的实施方式中,所述页面样式代码文件还包括所述各组件之间的依赖关系;
[0024]所述根据所述可加载节点树信息,确定所述各组件的位置信息,包括:
[0025]根据所述可加载节点树信息和所述依赖关系,确定所述各组件的位置信息。
[0026]在一种可能的实施方式中,所述根据所述页面组件信息和所述页面执行逻辑文件,渲染得到所述目标页面,包括:
[0027]根据所述页面组件信息和所述页面样式代码文件,加载得到初始页面;
[0028]在接收到针对所述初始页面的目标触发请求后,利用第二代码运行引擎,从所述页面执行逻辑文件指示的各页面触发请求对应的执行逻辑中,确定所述目标触发请求对应的目标执行逻辑;
[0029]生成与所述目标执行逻辑对应的信息获取请求,并向服务器发送所述信息获取请求;所述信息获取请求用于获取执行所述目标执行逻辑所需要的目标页面信息;
[0030]接收所述服务器在响应于所述信息获取请求后反馈的目标页面信息,并基于所述目标页面信息,对所述初始页面进行更新渲染,得到所述目标页面。
[0031]在一种可能的实施方式中,所述页面样式代码文件指示有浏览器的版本和页面版本之间的关联关系;
[0032]所述根据所述页面组件信息和所述页面样式代码文件,加载得到初始页面,包括:
[0033]根据所述页面样式代码文件指示的关联关系和所述浏览器的版本,确定所述初始页面的页面尺寸和页面版本;
[0034]按照所述页面尺寸和所述页面版本,根据所述页面组件信息,加载得到所述初始页面。
[0035]第二方面,本公开实施例还提供一种页面渲染装置,包括:
[0036]获取模块,用于获取在跨端框架上编译得到的待转换文件,所述待转换文件用于加载目标页面;
[0037]解码模块,用于基于浏览器对应的可运行语言,对所述待转换文件进行文件解码,得到所述目标页面对应的且与所述可运行语言相匹配的组件结构指令和页面执行逻辑文件;
[0038]运行模块,用于利用所述可运行语言对应的第一代码运行引擎,运行所述组件结
构指令,并基于运行结果得到所述目标页面对应的页面组件信息;
[0039]渲染模块,用于根据所述页面组件信息和所述页面执行逻辑文件,渲染得到所述目标页面。
[0040]在一种可能的实施方式中,所述解码模块,用于基于所述浏览器对应的可运行语言,对所述待转换文件进行文件解码,得到所述目标页面对应的且与可运行语言相匹配的可执行结构信息、所述页面执行逻辑文件和页面样式代码文件;
[0041]将所述可执行结构信息,转换为在所述浏览器中可执行的所述组件结构指令;
[0042]所述运行模块,用于运行所述组件结构指令,得到所述运行结果,并将所述运行结果和所述页面样式代码文件进行结合,得到所述目标页面对应的页面组件信息。
[0043]在一种可能的实施方式中,所述运行模块,用于运行所述组件结构指令,得到所述目标页面中的各组件对应的虚拟节点树信息;并将所述虚拟节点树信息转换为所述各组件对应的可加载节点树信息;所述运行结果包括所述可加载节点树信息;
[0044]所述运行模块,用于利用页面布局引擎,将所述可加载节点树信息和所述页面样式代码文件进行结合,得到所述页面组件信息。
[0045]在一种可能的实施方式中,所述页面样式代码文件包括所述各组件对应的组件样式文件;
[0046]所述运行模块,用于根据所述可加载节点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种页面渲染方法,其特征在于,包括:获取在跨端框架上编译得到的待转换文件,所述待转换文件用于加载目标页面;基于浏览器对应的可运行语言,对所述待转换文件进行文件解码,得到所述目标页面对应的且与所述可运行语言相匹配的组件结构指令和页面执行逻辑文件;利用所述可运行语言对应的第一代码运行引擎,运行所述组件结构指令,并基于运行结果得到所述目标页面对应的页面组件信息;根据所述页面组件信息和所述页面执行逻辑文件,渲染得到所述目标页面。2.根据权利要求1所述的方法,其特征在于,所述基于浏览器对应的可运行语言,对所述待转换文件进行文件解码,得到所述目标页面对应的且与所述可运行语言相匹配的组件结构指令和页面执行逻辑文件,包括:基于所述浏览器对应的可运行语言,对所述待转换文件进行文件解码,得到所述目标页面对应的且与可运行语言相匹配的可执行结构信息、所述页面执行逻辑文件和页面样式代码文件;将所述可执行结构信息,转换为在所述浏览器中可执行的所述组件结构指令;所述运行所述组件结构指令,并基于运行结果得到所述目标页面对应的页面组件信息,包括:运行所述组件结构指令,得到所述运行结果,并将所述运行结果和所述页面样式代码文件进行结合,得到所述目标页面对应的页面组件信息。3.根据权利要求2所述的方法,其特征在于,所述运行所述组件结构指令,包括:运行所述组件结构指令,得到所述目标页面中的各组件对应的虚拟节点树信息;并将所述虚拟节点树信息转换为所述各组件对应的可加载节点树信息;所述运行结果包括所述可加载节点树信息,所述将所述运行结果和所述页面样式代码文件进行结合,得到所述目标页面对应的页面组件信息,包括:利用页面布局引擎,将所述可加载节点树信息和所述页面样式代码文件进行结合,得到所述页面组件信息。4.根据权利要求3所述的方法,其特征在于,所述页面样式代码文件包括所述各组件对应的组件样式文件;所述将所述可加载节点树信息和所述页面样式代码文件进行结合,得到所述页面组件信息,包括:根据所述可加载节点树信息,确定所述各组件的位置信息,并根据所述组件样式文件,确定所述各组件对应的组件样式;将所述各组件的位置信息和所述各组件对应的组件样式进行结合,得到所述页面组件信息。5.根据权利要求4所述的方法,其特征在于,所述页面样式代码文件还包括所述各组件之间的依赖关系;所述根据所述可加载节点树信息,确定所述各组件的位...

【专利技术属性】
技术研发人员:张磊李奎
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1