一种页面处理方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种页面处理方法、装置及设备。
背景技术
基于超文本标记语言开发的页面中可以包括较多较复杂的元素,例如地图等,如果通过该页面显示地图,但用户可能很难通过手指触摸的方式对该页面中的地图进行缩放。而终端设备(如手机)中的用户界面通常是由一个或多个控件构成的,不同的控件可以实现不同的功能,如地图控件,用户可以通过手指触控的方式,将地图控件中的地图进行随意放大或缩小。
为了提高目标页面的触摸操作的体验和目标页面的渲染效率,通常,可以通过将终端设备的操作系统的原生用户界面中的控件覆盖到上述目标页面中的Webview控件上。但是,通过上述覆盖的方式得到的目标页面,需要限制目标页面不能够进行缩放,而只能够保持控件原来的样式不变,从而给用户的使用带来困扰,用户体验较差,因此,需要提供一种可以融合目标用户界面中的控件的基于超文本标记语言开发的页面,并且,其中的控件可随着页面的缩放而进行缩放的技术方案。
发明内容
本说明书实施例的目的是提供一种页面处理方法、装置及设备,以提供一种可以融合目标用户界面中的控件的基于超文本标记语言开发的页面,并且,其中的控件可随着页面的缩放而进行缩放的技术方案。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种页面处理方法,所述方法应用于目标页面,所述目标页面基于超文本标记语言开发,包括:
获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息;
根据所述第一控件的类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
执行所述排版指令集中的排版指令,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面。
可选地,所述获取目标用户界面中的第一控件的类型,以及所述第一控件在所述用户界面中的排版信息,包括:
调用预设的编程接口,获取目标用户界面中的第一控件的类型,以及所述第一控件在所述用户界面中的排版信息。
可选地,所述方法还包括:
接收对所述目标页面中的所述第二控件的管理指令,所述管理指令包括删除指令和状态修改指令;
根据所述管理指令,对所述目标页面中的所述第二控件执行相应的操作。
本说明书实施例提供的一种页面处理方法,所述方法应用于目标页面,所述目标页面基于超文本标记语言开发,所述目标页面中包括全局初始化模块,包括:
调用所述全局初始化模块,以获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息,并根据所述类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
接收所述全局初始化模块发送的所述排版指令集;
解析所述排版指令集中的排版指令,得到解析后的排版指令;
创建页面渲染模块,并将所述解析后的排版指令发送给所述页面渲染模块,以使所述页面渲染模块根据所述解析后的排版指令得到融合有所述第二控件的目标页面。
可选地,所述调用所述全局初始化模块,包括:
接收所述全局初始化模块发送的编程接口调用指令;
调用所述全局初始化模块。
可选地,所述创建页面渲染模块之后,所述方法还包括:
创建所述页面渲染模块的生命周期;
当接收到所述全局初始化模块发送的所述生命周期不可见的通知消息时,将所述页面渲染模块的生命周期设置为不可见状态;
当接收到所述全局初始化模块发送的所述生命周期恢复可见的通知消息时,将所述页面渲染模块的生命周期设置为可见状态。
可选地,所述方法还包括:
当接收到所述全局初始化模块发送的所述第二控件被移除或所述目标页面被销毁的通知消息时,销毁所述页面渲染模块的生命周期;
调用所述页面渲染模块释放并回收所述第二控件。
本说明书实施例提供的一种页面处理方法,所述方法应用于目标页面,所述目标页面基于超文本标记语言开发,所述目标页面中包括页面管理模块,包括:
向所述页面管理模块发送编程接口调用指令;
根据所述页面管理模块的调用指示,获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息,并根据所述类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
向所述页面管理模块发送所述排版指令集。
本说明书实施例提供的一种页面处理方法,所述方法应用于目标页面,所述目标页面基于超文本标记语言开发,所述目标页面中包括页面管理模块和全局初始化模块,包括:
接收所述页面管理模块发送的排版指令,所述排版指令是所述页面管理模块对所述全局初始化模块生成并发送的所述目标页面的排版指令集进行解析后得到;
执行所述排版指令,从预先存储的控件库中获取所述排版指令对应的第二控件,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面,所述第二控件是目标用户界面中的第一控件的类型对应的控件。
可选地,所述方法还包括:
根据所述页面渲染模块的调用指示,在所述全局初始化模块检测到所述第二控件被移除或所述目标页面被销毁时,释放并回收所述第二控件。
本说明书实施例提供的一种页面处理装置,所述装置中包括目标页面,所述目标页面基于超文本标记语言开发,包括:
信息获取模块,用于获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息;
排版指令生成模块,用于根据所述第一控件的类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
处理模块,用于执行所述排版指令集中的排版指令,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面。
可选地,所述信息获取模块,用于调用预设的编程接口,获取目标用户界面中的第一控件的类型,以及所述第一控件在所述用户界面中的排版信息。
可选地,所述装置还包括:
指令接收模块,用于接收对所述目标页面中的所述第二控件的管理指令,所述管理指令包括删除指令和状态修改指令;
指令执行模块,用于根据所述管理指令,对所述目标页面中的所述第二控件执行相应的操作。
本说明书实施例提供的一种页面处理装置中的页面管理模块,所述页面管理模块设置于目标页面中,所述目标页面基于超文本标记语言开发,所述目标页面中还包括全局初始化模块,包括:
第一调用单元,用于调用所述全局初始化模块,以获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息,并根据所述类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
指令集接收单元,用于接收所述全局初始化模块发送的所述排版指令集;
解析单元,用于解析所述排版指令集中的排版指令,得到解析后的排版指令;
指令发送单元,用于创建页面渲染模块,并将所述解析后的排版指令发送给所述页面渲染模块,以使所述页面渲染模块根据所述解析后的排版指令得到融合有所述第二控件的目标页面。
可选地,所述第一调用单元,包括:
指令接收子单元,用于接收所述全局初始化模块发送的编程接口调用指令;
调用子单元,用于调用所述全局初始化模块。
可选地,所述页面管理模块还包括:
生命周期创建单元,用于创建所述页面渲染模块的生命周期;
第一设置单元,用于当接收到所述全局初始化模块发送的所述生命周期不可见的通知消息时,将所述页面渲染模块的生命周期设置为不可见状态;
第二设置单元,用于当接收到所述全局初始化模块发送的所述生命周期恢复可见的通知消息时,将所述页面渲染模块的生命周期设置为可见状态。
可选地,所述页面管理模块还包括:
销毁单元,用于当接收到所述全局初始化模块发送的所述第二控件被移除或所述目标页面被销毁的通知消息时,销毁所述页面渲染模块的生命周期;
第二调用单元,用于调用所述页面渲染模块释放并回收所述第二控件。
本说明书实施例提供的一种页面处理装置中的全局初始化模块,所述全局初始化模块设置于目标页面中,所述目标页面基于超文本标记语言开发,所述目标页面中还包括页面管理模块,包括:
指令发送单元,用于向所述页面管理模块发送编程接口调用指令;
信息获取单元,用于根据所述页面管理模块的调用指示,获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息,并根据所述类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
指令集发送单元,用于向所述页面管理模块发送所述排版指令集。
本说明书实施例提供的一种页面处理装置,页面处理装置中的页面渲染模块,所述页面渲染模块设置于目标页面中,所述目标页面基于超文本标记语言开发,所述目标页面中还包括页面管理模块和全局初始化模块,包括:
指令接收单元,用于接收所述页面管理模块发送的排版指令,所述排版指令是所述页面管理模块对所述全局初始化模块生成并发送的所述目标页面的排版指令集进行解析后得到;
指令执行单元,用于执行所述排版指令,从预先存储的控件库中获取所述排版指令对应的第二控件,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面,所述第二控件是目标用户界面中的第一控件的类型对应的控件。
可选地,所述页面渲染模块还包括:
控件释放单元,用于根据所述页面渲染模块的调用指示,在所述全局初始化模块检测到所述第二控件被移除或所述目标页面被销毁时,释放并回收所述第二控件。
本说明书实施例提供的一种页面处理设备,所述页面处理设备包括目标页面,所述目标页面基于超文本标记语言开发,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息;
根据所述第一控件的类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
执行所述排版指令集中的排版指令,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面。
由以上本说明书实施例提供的技术方案可见,本说明书实施例应用于目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种页面处理方法实施例;
图2A为本说明书一种目标用户界面的示意图;
图2B为本说明书一种融合有第二控件的目标页面的示意图;
图3为本说明书另一种页面处理方法实施例;
图4为本说明书又一种页面处理方法实施例;
图5为本说明书又一种页面处理系统的结构示意图;
图6为本说明书又一种页面处理方法实施例;
图7为本说明书又一种页面处理方法实施例;
图8为本说明书又一种页面处理方法实施例;
图9为本说明书一种页面处理装置实施例;
图10为本说明书一种页面处理装置中的页面管理模块实施例;
图11为本说明书一种页面处理装置中的全局初始化模块实施例;
图12为本说明书一种页面处理装置中的页面渲染模块实施例;
图13为本说明书一种页面处理设备实施例;
图14为本说明书另一种页面处理设备实施例。
具体实施方式
本说明书实施例提供一种页面处理方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种页面处理方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于生成终端设备的操作系统中原生用户界面中的控件对应的页面(即本实施例中提到的目标页面),且该页面为基于超文本标记语言(即Hyper Text Markup Language,HTML)开发,其中的超文本标记语言可以包括HTML 2.0、HTML 3.2、HTML 4.0和HTML 5等。为了简化页面处理过程和页面处理效率,本实施例中以执行主体为终端设备为例进行说明,对于服务器的情况,可以根据下述相关内容处理,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S102中,获取目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息。
其中,目标用户界面可以终端设备的操作系统中原生的用户界面(即UI,UserInterface),终端设备的操作系统可以包括安卓(即Android)操作系统和iOS操作系统等。第一控件可以是操作系统的用户界面中的任意控件,例如按键、输入框控件、搜索框控件、日历控件或上传图片控件等。排版信息可以是用于表明控件在页面中的大小、位置等相关信息的信息,排版信息可以助于终端设备渲染并显示页面。控件的类型可以根据实际情况设定,例如可以根据控件的作用和用途进行分类,如按键类、输入框类或上传图片类等,在实际应用中,可能并不限于上述分类,还可以基于上述分类结果再进行分类,例如,按键类还可以分为圆形按键类、矩形按键类等,或者,直接将控件的类型分为圆形按键类、矩形按键类、输入框类或上传图片类等,本说明书实施例对此不做限定。
在实施中,超文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以指示浏览器如何显示其中的内容(如其中的文字如何处理、画面如何排布,图片如何显示等)。浏览器可以按照网页文件中的内容顺序阅读该网页文件,然后,根据标记符解释和显示其标记的内容。其中,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。超文本标记语言文档制作不是很复杂,但功能强大,支持不同数据格式的文件镶入。超文本标记语言可以具备简易性、可扩展性、操作平台无关性和通用性等主要特点,由于超文本标记语言版本的升级通常采用超集方式,因此,超文本标记语言可以更加灵活方便,而且超文本标记语言可以使用在广泛的操作平台(即多种操作系统的平台,如Windows操作系统平台或Mac OS平台等)上,而且,超文本标记语言允许网页制作人员建立文本与图像相结合的复杂页面,无论用户使用的是何种类型的终端设备或浏览器,该页面均可以被浏览。
基于超文本标记语言开发的页面(即目标页面)中可以包括较多较复杂的元素,例如地图等,以基于超文本标记语言开发的目标页面为例,如果通过该目标页面显示地图,而地图通常需要用户进行缩放,在进行缩放的过程中,用户可能很难通过手指触摸的方式对地图进行缩放,用户触摸操作的体验较差,而且目标页面的渲染效率低。
而终端设备中的用户界面通常是由一个或多个控件构成的,通过不同的控件可以构建出多个不同的用户界面,不同的控件可以实现不同的功能,例如,用户界面中可以包括地图控件,用户可以通过地图控件,通过手指触控的方式,将地图控件中的地图进行随意放大或缩小,显然,终端设备中用户界面中的控件能够表现出更好的触摸操作体验,用户界面的渲染效率相对较高。
如果将终端设备中的用户界面中的控件能够在目标页面中显示,则可以提高目标页面的触摸操作的体验和目标页面的渲染效率,通常,可以通过将终端设备的操作系统的原生用户界面(即目标用户界面)中的控件覆盖到上述目标页面中,其中需要说明的是,在实际应用中,将目标用户界面中的控件覆盖到上述目标页面中的处理,可以是将目标用户界面中的控件覆盖到目标页面的Webview控件中。但是,通过上述覆盖的方式得到的目标页面,需要限制目标页面不能够进行缩放,因为目标页面中覆盖的目标用户界面中的控件不能够随着目标页面的缩放而进行缩放,而只能够保持控件原来的样式不变,从而给用户的使用带来困扰,用户体验较差。为此,本说明书实施例提供一种可以包括用户界面中的控件的目标页面,并且其中的控件还可以随着目标页面的缩放而进行缩放的方案,具体可以包括以下内容:
如图2A所示,当需要将终端设备的操作系统中的某一个或多个原生用户界面(即目标用户界面)使用基于超文本标记语言(本实施例中的超文本标记语言可以以HTML 5为例进行说明)开发的目标页面进行显示时,可以通过预先设置的接口获取目标用户界面,可以对目标用户界面进行分析计算,确定目标用户界面中包含的控件(即第一控件),同时,可以记录每个第一控件的大小尺寸和在目标用户界面中的位置,其中,该位置可以以坐标的形式表示,或者,也可以以某一个位置作为中心点,确定第一控件与该中心点之间的相对位置等。可以使用记录的每个第一控件的大小尺寸和在目标用户界面中的位置等信息,生成第一控件在目标用户界面中的排版信息。此外,还可以对目标用户界面中的每个第一控件进行分析,确定每个第一控件所属的类型,例如,包括3个第一控件,其中一个第一控件为按键,再一个第一控件为搜索框控件,第三个第一控件为上传图片控件,则第一控件所属的类型包括按键类、搜索框类和上传图片类,相应的,对于上述按键,可以生成一个按键的排版信息,对于搜索框控件,可以生成一个搜索框控件的排版信息,对于上传图片控件,可以生成一个上传图片控件的排版信息。
在步骤S104中,根据上述第一控件的类型和上述排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件。
其中,第二控件可以是目标页面所在的浏览器中预先存储的控件,也可以是目标页面对应的数据库或上述浏览器所对应的数据库中预先存储的控件,第二控件可以是目标用户界面的开发或技术人员创建,由于第二控件的创建充分考虑了基于超文本标记语言开发的目标页面的环境,也即是第二控件需要在目标页面中使用,可以随着目标页面的缩放而进行缩放,而且第二控件可以是与目标用户界面中的第一控件属于同一类型,两者相互对应,例如,第一控件为按键,第二控件也应该为按键,而且,第二控件可以与第一控件在外观和功能上完全相同等。排版指令集可以是由一个或多个排版指令构成的集合,每个排版指令可以相互独立,也可以是相互关联,如果多个排版指令相互关联,则该排版指令中还可以包括存储关联关系的排版指令的标识等。
在实施中,目标页面所在的浏览器,或者目标页面对应的数据库,或者上述浏览器所对应的数据库中,可以预先存储有与终端设备的操作系统的原生用户界面中的控件相对应的控件。当终端设备通过上述步骤S102的处理确定第一控件的类型后,可以通过确定的类型,在上述预先存储的控件中查找与确定的类型对应的控件,查找到后,可以将查找到的控件作为与该第一控件相对应的第二控件,然后,可以从通过上述步骤S102的处理得到的排版信息中,查找该第一控件在目标用户界面中的排版信息,查找到后,可以提取查找到的排版信息中该第一控件的大小尺寸和在目标用户界面中的位置。
可以创建一个空的目标页面,可以基于目标页面的固有属性,并根据该第一控件的大小尺寸,确定相应的第二控件的大小尺寸,同时,还可以基于目标页面的固有属性,并根据该第一控件在目标用户界面中的位置,确定相应的第二控件在目标页面中的位置。可以通过目标页面的固有属性、第二控件的大小尺寸和第二控件在目标页面中的位置等,生成该第二控件在目标页面中的排版信息,并可以基于生成的排版信息生成该第二控件在目标页面中一个或多个排版指令,得到该第二控件在目标页面中的排版指令集。
需要说明的是,可以包括多个第一控件,相应的第二控件也应该是多个,而且,第一控件的数量与第二控件的数量相等,对于包括多个第二控件的情况,可以通过上述方式分别获取每个第二控件在目标页面中的排版指令或排版指令集。
在步骤S106中,执行上述排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面。
其中,排版处理可以是在有限的页面空间里,将页面构成元素(如文字、图片、线条线框和颜色色块等),根据特定内容的需要进行组合排列,并运用造型要素及形式原理,把元素排布在页面中的处理。渲染处理可以是对将要呈现的页面进行计算,得到页面的显示效果的处理。
在实施中,通过上述步骤S104的处理得到第二控件在目标页面中的排版指令集后,终端设备可以分别对排版指令集中的排版指令进行解析,以将排版指令集中的排版指令的数据转换成显示部件或显示模块能够识别的数据,然后,终端设备的示部件或显示模块可以执行解析后的排版指令,通过解析后的排版指令可以确定第二控件的相关信息,并可以从预先存储的控件中提取该第二控件。如图2B所示,还可以通过解析后的排版指令确定该第二控件的大小尺寸和第二控件在目标页面中的位置等,然后,可以根据确定的大小尺寸和在目标页面中的位置,在目标页面中对该第二控件进行排版处理,得到该第二控件在目标页面中的排版结果。可以对每个第二控件均执行上述处理过程,得到其它第二控件在目标页面中的排版结果,可以综合上述每个第二控件在目标页面中的排版结果,得到目标页面的总体排版结果,最后,可以基于目标页面的总体排版结果,对目标页面进行渲染处理,使得总体排版结果的目标页面得以呈现,从而得到了融合有第二控件的目标页面。
基于上述处理,由于第二控件是能够融合到目标页面(而不是如相关技术中覆盖在目标页面)中,因此,第二控件可以随着目标页面的缩放而进行缩放,而且,第二控件是与目标用户界面中的第一控件相对应的,并且,第二控件在目标页面中的排版也是与第一控件在目标用户界面中的排版相对应,这样,会产生融合有第二控件的目标页面与包含第一控件的目标用户界面,在呈现或显示结果上相同或相似(例如两个页面的外观相同或相近),从而给用户一种将目标用户界面(或其中的控件)转移到了目标页面中的感觉,而且,目标页面中的控件还可以随着目标页面的缩放而进行缩放,提高了用户体验。
本说明书实施例提供一种页面处理方法,应用于目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
实施例二
如图3所示,本说明书实施例提供一种页面处理方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于生成终端设备的操作系统中原生用户界面中的控件对应的页面(即本实施例中提到的目标页面),且该页面为基于超文本标记语言(即Hyper Text Markup Language,HTML)开发,其中的超文本标记语言可以包括HTML 2.0、HTML 3.2、HTML 4.0和HTML 5等。为了简化页面处理过程和页面处理效率,本实施例中以执行主体为终端设备为例进行说明,对于服务器的情况,可以根据下述相关内容处理,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S302中,调用预设的编程接口,获取目标用户界面中的第一控件的类型,以及第一控件在用户界面中的排版信息。
其中,编程接口可以是由一个或多个预先定义的函数构成,目的是提供应用程序与开发人员(或技术人员)基于某软件或硬件得以访问一组例程的能力,同时又无需访问源代码或理解内部工作机制的细节等,具体可以为JSAPI(JavaScript ApplicationProgramming Interface,Java描述语言应用程序编程接口)等。
在实施中,当需要将终端设备的操作系统中的某一个或多个原生用户界面(即目标用户界面)使用基于超文本标记语言(本实施例中的超文本标记语言可以以HTML 5为例进行说明)开发的目标页面进行显示时,可以调用预设的编程接口(如JSAPI等),以获取目标用户界面,并可以对目标用户界面进行分析计算,确定目标用户界面中包含的控件(即第一控件),同时,可以记录每个第一控件的大小尺寸和在目标用户界面中的位置。可以使用记录的每个第一控件的大小尺寸和在目标用户界面中的位置等信息,生成第一控件在目标用户界面中的排版信息。此外,还可以对目标用户界面中的每个第一控件进行分析,确定每个第一控件所属的类型。
在步骤S304中,根据上述第一控件的类型和上述排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件。
上述步骤S304的步骤内容与上述实施例一中步骤S104的步骤内容相同,上述步骤S304的具体处理过程可以参见上述实施例一中步骤S104的相关内容,在此不再赘述。
在步骤S306中,执行上述排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面。
上述步骤S306的步骤内容与上述实施例一中步骤S106的步骤内容相同,上述步骤S306的具体处理过程可以参见上述实施例一中步骤S106的相关内容,在此不再赘述。
此外,通过上述方式得到融合有第二控件的目标页面后,还可以对目标页面中的第二控件进行管理,得到处理后的目标页面,具体可以参见下述步骤S308和步骤S310的处理。
在步骤S308中,接收对目标页面中的第二控件的管理指令,该管理指令可以包括删除指令和状态修改指令等。
其中,状态修改指令可以是将第二控件由一种状态修改为另一种状态,例如,将第二控件由未触发状态修改为被触发状态等。
在实施中,当需要对目标页面中的一个或多个第二控件进行删除时,可以触发目标页面所在的浏览器中或目标页面中提供的第二控件管理按键,此时,可以生成对目标页面中该一个或多个第二控件的删除指令,终端设备可以接收对目标页面中该一个或多个第二控件的删除指令。
另外,当需要对目标页面中的一个或多个第二控件的状态进行修改时,可以触发目标页面所在的浏览器中或目标页面中提供的第二控件管理按键,此时,可以获取第二控件当前的状态信息,以及修改后的状态信息,可以基于上述信息,生成对目标页面中该一个或多个第二控件的状态修改指令,终端设备可以接收对目标页面中该一个或多个第二控件的状态修改指令。
在步骤S310中,根据上述管理指令,对目标页面中的第二控件执行相应的操作。
在实施中,当接收到对目标页面中该一个或多个第二控件的删除指令时,可以获取需要删除的该一个或多个第二控件的标识,并以此可以从目标页面中查找到相应的一个或多个第二控件,可以将该一个或多个第二控件从目标页面中删除。
当接收到对目标页面中该一个或多个第二控件的状态修改指令时,可以获取需要进行状态修改的该一个或多个第二控件的标识,并以此可以从目标页面中查找到相应的一个或多个第二控件,可以将该一个或多个第二控件由当前的状态信息对应的状态修改为修改后的状态信息对应的状态。
本说明书实施例提供一种页面处理方法,应用于目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
上述实施例一和实施例二是以终端设备(或终端设备中安装的浏览器,或上述浏览器中的目标页面)为执行主体进行详细说明的,其中,目标页面既需要获取目标用户界面中的第一控件的相关信息,还需要对上述获取的相关信息进行处理,以及渲染显示目标页面等处理,在实际应用中,还可以将该目标页面根据其具备的不同功能,将其划分为不同的模块执行,以下实施例三和实施例四将上述目标页面分为页面管理模块、全局初始化模块和页面渲染模块进行了说明,具体参见下述内容,其中,页面管理模块可以以NBComponentManager表示,全局初始化模块可以以NBComponentJSLoader表示,页面渲染模块可以以NBComponentViews表示,目标页面可以以Webview表示,Webview可以是终端设备的操作系统中承载与展示基于超文本标记语言(如HTML 5等)开发的目标页面的UI控件。此外,上述目标页面不仅仅可以划分为上述三个模块,还可以将其进行更加细致的划分,划分为三个以上的模块,另外,即使将上述目标页面划分为三个模块,也可以不仅仅划分为页面管理模块、全局初始化模块和页面渲染模块,还可以根据目标页面的功能,将目标页面划分为其它类型的三个不同的模块,对于上述情况,其具体处理过程可以参考下述内容执行。
实施例三
如图4所示,本说明书实施例提供一种页面处理方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于生成终端设备的操作系统中原生用户界面中的控件对应的页面(即本实施例中提到的目标页面),且该页面为基于超文本标记语言(即Hyper Text Markup Language,HTML)开发,其中的超文本标记语言可以包括HTML 2.0、HTML 3.2、HTML 4.0和HTML 5等。为了简化页面处理过程和页面处理效率,本实施例中以执行主体为终端设备为例进行说明,对于服务器的情况,可以根据下述相关内容处理,在此不再赘述,此外,该方法的执行主体具体可以为终端设备中目标页面中的页面管理模块(即NBComponentManager)。该方法具体可以包括以下步骤:
在步骤S402中,调用全局初始化模块,以获取目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,并根据上述类型和该排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件。
其中,全局初始化模块(即NBComponentJSLoader)可以运行于Webview中,用于计算并生成排版指令集。页面管理模块NBComponentManager的主要作用可以是与全局初始化模块NBComponentJSLoader进行通信,以获取排版指令集,并管理页面渲染模块NBComponentViews的显示。
在实施中,如图5所示,目标页面中可以包括6个部分,分别为页面管理模块NBComponentManager、全局初始化模块NBComponentJSLoader、页面渲染模块NBComponentViews、Webview、控件管理模块NBComponentViewManager、编程接口JSAPI等,其中,控件管理模块NBComponentViewManager是NBComponentView的插件化管理器,用户可以开发并注册自定义的NBComponentViews等。
当需要将终端设备的操作系统中的某一个或多个原生用户界面(即目标用户界面)使用基于超文本标记语言(本实施例中的超文本标记语言可以以HTML 5为例进行说明)开发的目标页面进行显示时,页面管理模块NBComponentManager可以调用全局初始化模块NBComponentJSLoader,NBComponentJSLoader可以获取目标用户界面,并可以对目标用户界面进行分析计算,确定目标用户界面中包含的控件(即第一控件),同时,可以记录每个第一控件的大小尺寸和在目标用户界面中的位置。可以使用记录的每个第一控件的大小尺寸和在目标用户界面中的位置等信息,生成第一控件在目标用户界面中的排版信息。此外,还可以对目标用户界面中的每个第一控件进行分析,确定每个第一控件所属的类型。
页面渲染模块NBComponentViews中可以预先存储有与终端设备的操作系统的原生用户界面中的控件相对应的控件。当NBComponentJSLoader通过上述处理确定第一控件的类型后,可以通过确定的类型,在上述预先存储的控件中查找与确定的类型对应的第二控件,然后,NBComponentJSLoader可以从得到的排版信息中,查找该第一控件在目标用户界面中的排版信息,从而得到该第一控件的大小尺寸和在目标用户界面中的位置。
NBComponentJSLoader可以根据该第一控件的大小尺寸,确定相应的第二控件的大小尺寸,同时,NBComponentJSLoader还可以根据该第一控件在目标用户界面中的位置,确定相应的第二控件在目标页面中的位置。NBComponentJSLoader可以通过第二控件的大小尺寸和第二控件在目标页面中的位置等,生成该第二控件在目标页面中的排版指令集。
在步骤S404中,接收全局初始化模块发送的上述排版指令集。
在步骤S406中,解析上述排版指令集中的排版指令,得到解析后的排版指令。
在实施中,由于NBComponentJSLoader生成的排版指令集中的排版指令的数据是NBComponentViews无法识别的数据,这样,NBComponentViews将无法执行该排版指令进行排版处理和渲染处理,得到相应的目标页面,为此,NBComponentManager可以对排版指令集中的排版指令进行解析,以得到能够被NBComponentViews识别的解析后的排版指令。
在步骤S408中,创建页面渲染模块,并将上述解析后的排版指令发送给页面渲染模块,以使该页面渲染模块根据解析后的排版指令得到融合有第二控件的目标页面。
在实施中,NBComponentManager排版指令集中的排版指令的过程中,可以创建对应的NBComponentViews,并将该NBComponentViews融合到Webview上。然后,可以将NBComponentManager解析后的排版指令发送给NBComponentViews。NBComponentViews可以处理解析后的排版指令,可以根据解析后的排版指令中的数据和属性,获取第二控件,并将第二控件融合到目标页面(即HTML 5页面)中,并显示该目标页面(即HTML 5页面)。
如图6所示,本说明书实施例提供一种页面处理方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于生成终端设备的操作系统中原生用户界面中的控件对应的页面(即本实施例中提到的目标页面),且该页面为基于超文本标记语言(即Hyper Text Markup Language,HTML)开发,其中的超文本标记语言可以包括HTML 2.0、HTML 3.2、HTML 4.0和HTML 5等。为了简化页面处理过程和页面处理效率,本实施例中以执行主体为终端设备为例进行说明,对于服务器的情况,可以根据下述相关内容处理,在此不再赘述,此外,该方法的执行主体具体可以为终端设备中目标页面中的全局初始化模块(即NBComponentJSLoader)。该方法具体可以包括以下步骤:
在步骤S602中,向页面管理模块发送编程接口调用指令。
在步骤S604中,根据页面管理模块的调用指示,获取目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,并根据该类型和该排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件。
在步骤S606中,向页面管理模块发送上述排版指令集。
如图7所示,本说明书实施例提供一种页面处理方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于生成终端设备的操作系统中原生用户界面中的控件对应的页面(即本实施例中提到的目标页面),且该页面为基于超文本标记语言(即Hyper Text Markup Language,HTML)开发,其中的超文本标记语言可以包括HTML 2.0、HTML 3.2、HTML 4.0和HTML 5等。为了简化页面处理过程和页面处理效率,本实施例中以执行主体为终端设备为例进行说明,对于服务器的情况,可以根据下述相关内容处理,在此不再赘述,此外,该方法的执行主体具体可以为终端设备中目标页面中的页面渲染模块NBComponentViews。该方法具体可以包括以下步骤:
在步骤S702中,接收页面管理模块发送的排版指令,该排版指令是页面管理模块对全局初始化模块生成并发送的目标页面的排版指令集进行解析后得到。
在步骤S704中,执行上述排版指令,从预先存储的控件库中获取该排版指令对应的第二控件,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,第二控件是目标用户界面中的第一控件的类型对应的控件。
其中,预先存储的控件库可以设置于页面渲染模块NBComponentViews中,NBComponentViews中可以包括一套可以融入基于超文本标记语言(如HTML5)开发的目标页面的终端设备的操作系统的原生UI控件库(或原生UI控件集)。
本说明书实施例提供一种页面处理方法,应用于目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
实施例四
如图8所示,本说明书实施例提供一种页面处理方法,该方法的执行主体可以为终端设备或服务器,其中,该终端设备可以如个人计算机等设备,也可以如手机、平板电脑等移动终端设备,该终端设备可以为用户使用的终端设备。该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该服务器可以是某项业务的后台服务器,也可以是某网站(如网络购物网站或支付应用等)的后台服务器等。该方法可以用于生成终端设备的操作系统中原生用户界面中的控件对应的页面(即本实施例中提到的目标页面),且该页面为基于超文本标记语言(即Hyper Text Markup Language,HTML)开发,其中的超文本标记语言可以包括HTML 2.0、HTML 3.2、HTML 4.0和HTML 5等。为了简化页面处理过程和页面处理效率,本实施例中以执行主体为终端设备为例进行说明,对于服务器的情况,可以根据下述相关内容处理,在此不再赘述,此外,该方法具体可以由终端设备中目标页面中的页面管理模块(即NBComponentManager)、全局初始化模块(NBComponentJSLoader)和页面渲染模块(NBComponentViews)共同执行。该方法具体可以包括以下步骤:
在步骤S802中,全局初始化模块向页面管理模块发送编程接口调用指令。
在实施中,在基于超文本标记语言(如HTML 5)开发的目标页面创建的同时,全局初始化模块NBComponentJSLoader可以进行初始化处理,并可以将NBComponentJSLoader存于当前的目标页面的上下文中,NBComponentJSLoader初始化完毕后,可以向页面管理模块NBComponentManager发出通知消息,NBComponentManager接收到该通知消息够,可以进行初始化处理。NBComponentManager初始化完成后,NBComponentJSLoader可以向NBComponentManager发送JSAPI调用指令(即Call Render JSAPI)。
在步骤S804中,页面管理模块调用全局初始化模块。
在步骤S806中,全局初始化模块根据页面管理模块的调用指示,获取目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,并根据该类型和该排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件。
在步骤S808中,全局初始化模块向页面管理模块发送排版指令集。
在步骤S810中,页面管理模块解析该排版指令集中的排版指令,得到解析后的排版指令。
在步骤S812中,页面管理模块创建页面渲染模块,并将该解析后的排版指令发送给页面渲染模块。
在步骤S814中,页面渲染模块执行解析后的排版指令,从预先存储的控件库中获取该排版指令对应的第二控件,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面。
需要说明的是,页面渲染模块完成上述排版处理和渲染处理,得到融合有第二控件的目标页面后,可以向全局初始化模块发送目标页面渲染完成的通知消息。
在执行上述步骤S812中页面管理模块创建页面渲染模块的过程中,可以同时创建页面渲染模块的生命周期,以管理页面渲染模块的显示、隐藏和销毁等,具体可以参见下述步骤S816~步骤S826的处理。
在步骤S816中,页面管理模块创建页面渲染模块的生命周期。
在实施中,如果目标页面为首次创建,NBComponentViews会收到终端设备的操作系统中的原生UI控件被融合到Webview上的通知,用来处理与终端设备的操作系统中的原生UI控件相关的初始化工作。
在步骤S818中,当接收到全局初始化模块发送的生命周期不可见的通知消息时,页面管理模块将页面渲染模块的生命周期设置为不可见状态。
其中,不可见状态可以是将页面渲染模块的生命周期进行暂停等处理,在实际应用中,生命周期不可见的通知消息可以以onWebViewPause的通知消息表示,onWebViewPause可以由WebView不可见的生命周期函数构成,用来处理与终端设备的操作系统中的原生UI控件相关的生命周期。
在实施中,当终端设备处于锁屏或压后台等状态时,全局初始化模块可以生成生命周期不可见的通知消息(即onWebViewPause),并可以将其发送给页面管理模块NBComponentManager。NBComponentManager接收到全局初始化模块发送的onWebViewPause的通知消息时,可以将onWebViewPause发送给页面渲染模块NBComponentViews,并回调NBComponentViews将NBComponentViews的生命周期设置为不可见状态。
在步骤S820中,当接收到全局初始化模块发送的生命周期恢复可见的通知消息时,页面管理模块将页面渲染模块的生命周期设置为可见状态。
其中,可见状态可以是将页面渲染模块的生命周期恢复有效等处理,在实际应用中,生命周期可见的通知消息可以以onWebViewResume的通知消息表示,onWebViewResume可以由WebView可见的生命周期函数构成,用来处理与终端设备的操作系统中的原生UI控件相关的生命周期。
在实施中,当终端设备处于解锁或回前台等状态时,全局初始化模块可以生成生命周期可见的通知消息(即onWebViewResume),并可以将其发送给页面管理模块NBComponentManager。NBComponentManager接收到onWebViewResume的通知消息时,可以将onWebViewResume发送给NBComponentViews,并回调NBComponentViews将NBComponentViews的生命周期设置为可见状态。
在步骤S822中,当接收到全局初始化模块发送的第二控件被移除或目标页面被销毁的通知消息时,页面管理模块销毁页面渲染模块的生命周期。
其中,在实际应用中,第二控件被移除可以以onEmbedViewDetachedFromWebView表示,onEmbedViewDetachedFromWebView可以表示终端设备的操作系统中的原生UI控件被移除的生命周期函数。目标页面被销毁可以以onWebViewDestory表示,onWebViewDestory可以表示WebView销毁的生命周期函数。
在实施中,当目标页面被销毁时,全局初始化模块可以生成onEmbedViewDetachedFromWebView和onWebViewDestory的通知消息,并可以将其发送给页面管理模块NBComponentManager。NBComponentManager接收到onEmbedViewDetachedFromWebView和onWebViewDestory的通知消息时,可以将onEmbedViewDetachedFromWebView和onWebViewDestory发送给NBComponentViews,并回调NBComponentViews将NBComponentViews的生命周期销毁。
在步骤S824中,页面管理模块调用页面渲染模块。
在步骤S826中,根据页面渲染模块的调用指示,在全局初始化模块检测到第二控件被移除或目标页面被销毁时,页面渲染模块释放并回收第二控件。
本说明书实施例提供一种页面处理方法,应用于目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
实施例五
以上为本说明书实施例提供的页面处理方法,基于同样的思路,本说明书实施例还提供一种页面处理装置,所述装置中包括目标页面,所述目标页面基于超文本标记语言开发,如图9所示。
该页面处理装置包括:信息获取模块901、排版指令生成模块902和处理模块903,其中:
信息获取模块901,用于获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息;
排版指令生成模块902,用于根据所述第一控件的类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
处理模块903,用于执行所述排版指令集中的排版指令,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面。
本说明书实施例中,所述信息获取模块901,用于调用预设的编程接口,获取目标用户界面中的第一控件的类型,以及所述第一控件在所述用户界面中的排版信息。
本说明书实施例中,所述装置还包括:
指令接收模块,用于接收对所述目标页面中的所述第二控件的管理指令,所述管理指令包括删除指令和状态修改指令;
指令执行模块,用于根据所述管理指令,对所述目标页面中的所述第二控件执行相应的操作。
本说明书实施例提供一种页面处理装置,包括目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
实施例六
基于同样的思路,本说明书实施例还提供一种页面处理装置中的页面管理模块,所述页面管理模块设置于目标页面中,所述目标页面基于超文本标记语言开发,所述目标页面中还包括全局初始化模块,如图10所示。
该页面处理装置包括:第一调用单元1001、指令集接收单元1002、解析单元1003和指令发送单元1004,其中:
第一调用单元1001,用于调用所述全局初始化模块,以获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息,并根据所述类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
指令集接收单元1002,用于接收所述全局初始化模块发送的所述排版指令集;
解析单元1003,用于解析所述排版指令集中的排版指令,得到解析后的排版指令;
指令发送单元1004,用于创建页面渲染模块,并将所述解析后的排版指令发送给所述页面渲染模块,以使所述页面渲染模块根据所述解析后的排版指令得到融合有所述第二控件的目标页面。
本说明书实施例中,所述第一调用单元1001,包括:
指令接收子单元,用于接收所述全局初始化模块发送的编程接口调用指令;
调用子单元,用于调用所述全局初始化模块。
本说明书实施例中,所述页面管理模块还包括:
生命周期创建单元,用于创建所述页面渲染模块的生命周期;
第一设置单元,用于当接收到所述全局初始化模块发送的所述生命周期不可见的通知消息时,将所述页面渲染模块的生命周期设置为不可见状态;
第二设置单元,用于当接收到所述全局初始化模块发送的所述生命周期恢复可见的通知消息时,将所述页面渲染模块的生命周期设置为可见状态。
本说明书实施例中,所述页面管理模块还包括:
销毁单元,用于当接收到所述全局初始化模块发送的所述第二控件被移除或所述目标页面被销毁的通知消息时,销毁所述页面渲染模块的生命周期;
第二调用单元,用于调用所述页面渲染模块释放并回收所述第二控件。
本说明书实施例提供一种页面处理装置中的页面管理模块,设置于目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
实施例七
基于同样的思路,本说明书实施例还提供一种页面处理装置中的全局初始化模块,所述全局初始化模块设置于目标页面中,所述目标页面基于超文本标记语言开发,所述目标页面中还包括页面管理模块,如图11所示。
该页面处理装置包括:指令发送单元1101、信息获取单元1102和请求发送模块1103,其中:
指令发送单元1101,用于向所述页面管理模块发送编程接口调用指令;
信息获取单元1102,用于根据所述页面管理模块的调用指示,获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息,并根据所述类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
指令集发送单元1103,用于向所述页面管理模块发送所述排版指令集。
本说明书实施例提供一种页面处理装置中的全局初始化模块,设置于目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
实施例八
基于同样的思路,本说明书实施例还提供一种页面处理装置中的页面渲染模块,所述页面渲染模块设置于目标页面中,所述目标页面基于超文本标记语言开发,所述目标页面中还包括页面管理模块和全局初始化模块,如图12所示。
该页面处理装置包括:指令接收单元1201和指令执行单元1202,其中:
指令接收单元1201,用于接收所述页面管理模块发送的排版指令,所述排版指令是所述页面管理模块对所述全局初始化模块生成并发送的所述目标页面的排版指令集进行解析后得到;
指令执行单元1202,用于执行所述排版指令,从预先存储的控件库中获取所述排版指令对应的第二控件,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面,所述第二控件是目标用户界面中的第一控件的类型对应的控件。
本说明书实施例中,所述页面渲染模块还包括:
控件释放单元,用于根据所述页面渲染模块的调用指示,在所述全局初始化模块检测到所述第二控件被移除或所述目标页面被销毁时,释放并回收所述第二控件。
本说明书实施例提供一种页面处理装置中的页面渲染模块,设置于目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
实施例九
基于同样的思路,本说明书实施例还提供一种页面处理设备,如图13所示。
所述页面处理设备可以为上述实施例提供的终端设备。
页面处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1301和存储器1302,存储器1302中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1302可以是短暂存储或持久存储。存储在存储器1302的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对页面处理设备中的一系列计算机可执行指令。更进一步地,处理器1301可以设置为与存储器1302通信,在页面处理设备上执行存储器1302中的一系列计算机可执行指令。页面处理设备还可以包括一个或一个以上电源1303,一个或一个以上有线或无线网络接口1304,一个或一个以上输入输出接口1305,一个或一个以上键盘1306。
具体在本实施例中,页面处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对页面处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息;
根据所述第一控件的类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在目标页面中的控件,目标页面,所述目标页面基于超文本标记语言开发;
执行所述排版指令集中的排版指令,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面。
可选地,所述获取目标用户界面中的第一控件的类型,以及所述第一控件在所述用户界面中的排版信息,包括:
调用预设的编程接口,获取目标用户界面中的第一控件的类型,以及所述第一控件在所述用户界面中的排版信息。
可选地,还包括:
接收对所述目标页面中的所述第二控件的管理指令,所述管理指令包括删除指令和状态修改指令;
根据所述管理指令,对所述目标页面中的所述第二控件执行相应的操作。
本说明书实施例提供一种页面处理设备,包括目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
实施例十
基于同样的思路,本说明书实施例还提供一种页面处理设备,如图14所示。
所述页面处理设备可以为上述实施例提供的终端设备。
页面处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1401和存储器1402,存储器1402中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1402可以是短暂存储或持久存储。存储在存储器1402的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对页面处理设备中的一系列计算机可执行指令。更进一步地,处理器1401可以设置为与存储器1402通信,在页面处理设备上执行存储器1402中的一系列计算机可执行指令。页面处理设备还可以包括一个或一个以上电源1403,一个或一个以上有线或无线网络接口1404,一个或一个以上输入输出接口1405,一个或一个以上键盘1406。
具体在本实施例中,页面处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对页面处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
应用于目标页面,所述目标页面基于超文本标记语言开发,所述目标页面中包括全局初始化模块,包括:
调用所述全局初始化模块,以获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息,并根据所述类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
接收所述全局初始化模块发送的所述排版指令集;
解析所述排版指令集中的排版指令,得到解析后的排版指令;
创建页面渲染模块,并将所述解析后的排版指令发送给所述页面渲染模块,以使所述页面渲染模块根据所述解析后的排版指令得到融合有所述第二控件的目标页面。
可选地,所述调用所述全局初始化模块,包括:
接收所述全局初始化模块发送的编程接口调用指令;
调用所述全局初始化模块。
可选地,所述创建页面渲染模块之后,所述方法还包括:
创建所述页面渲染模块的生命周期;
当接收到所述全局初始化模块发送的所述生命周期不可见的通知消息时,将所述页面渲染模块的生命周期设置为不可见状态;
当接收到所述全局初始化模块发送的所述生命周期恢复可见的通知消息时,将所述页面渲染模块的生命周期设置为可见状态。
可选地,所述方法还包括:
当接收到所述全局初始化模块发送的所述第二控件被移除或所述目标页面被销毁的通知消息时,销毁所述页面渲染模块的生命周期;
调用所述页面渲染模块释放并回收所述第二控件。
具体在本实施例中,页面处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对页面处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
应用于目标页面,所述目标页面基于超文本标记语言开发,所述目标页面中包括页面管理模块,包括:
向所述页面管理模块发送编程接口调用指令;
根据所述页面管理模块的调用指示,获取目标用户界面中的第一控件的类型,以及所述第一控件在所述目标用户界面中的排版信息,并根据所述类型和所述排版信息,生成所述类型对应的第二控件在所述目标页面中的排版指令集,所述第二控件为预先存储,且可融合在所述目标页面中的控件;
向所述页面管理模块发送所述排版指令集。
具体在本实施例中,页面处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对页面处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
应用于目标页面,所述目标页面基于超文本标记语言开发,所述目标页面中包括页面管理模块和全局初始化模块,包括:
接收所述页面管理模块发送的排版指令,所述排版指令是所述页面管理模块对所述全局初始化模块生成并发送的所述目标页面的排版指令集进行解析后得到;
执行所述排版指令,从预先存储的控件库中获取所述排版指令对应的第二控件,在所述目标页面中对所述第二控件进行排版处理和渲染处理,得到融合有所述第二控件的目标页面,所述第二控件是目标用户界面中的第一控件的类型对应的控件。
可选地,所述方法还包括:
根据所述页面渲染模块的调用指示,在所述全局初始化模块检测到所述第二控件被移除或所述目标页面被销毁时,释放并回收所述第二控件。
本说明书实施例提供一种页面处理设备,包括目标页面,该目标页面基于超文本标记语言开发,通过获取的目标用户界面中的第一控件的类型,以及第一控件在目标用户界面中的排版信息,生成该类型对应的第二控件在目标页面中的排版指令集,第二控件为预先存储,且可融合在目标页面中的控件,执行该排版指令集中的排版指令,在目标页面中对第二控件进行排版处理和渲染处理,得到融合有第二控件的目标页面,这样,将终端设备的操作系统中原生用户界面(即目标用户界面)控件作为目标页面中显示控件的子显示控件添加到目标页面(即基于超文本标记语言开发的页面)中,而不是将终端设备的操作系统中原生用户界面控件简单覆盖在目标页面上,从而达到了将目标用户界面的控件融合到目标页面的效果,使得融合在目标页面中的第二控件可以随着目标页面进行缩放,提高了用户体验。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。