发明内容
本发明实施例提供一种焦点更新方法及装置,用以降低设置焦点的复杂度。
本发明实施例提供一种焦点更新方法,包括:
终端获取遥控器发送的键值,所述键值用于控制焦点的移动方向;
所述终端将所述键值发送至所述终端显示的页面中层叠顺序最大的第一页面;
所述终端显示的所述第一页面根据所述焦点在所述第一页面中的第一位置以及所述键值确定所述焦点更新后的第二位置;
所述终端获取所述第一页面确定的第二位置,并在所述第一页面中,将所述焦点切换到所述第二位置。
可选的,所述方法还包括:
所述终端显示的页面从所述第一页面切换到第二页面时,所述终端从所述第二页面获取所述焦点在所述第二页面中的初始位置;
所述终端在所述第二页面中,将所述焦点设置在所述初始位置。
可选的,所述终端显示的所述第一页面根据所述焦点在所述第一页面中的第一位置以及所述键值确定所述焦点更新后的第二位置,包括:
所述终端显示的所述第一页面,确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,存在页面控件,则将属性为聚焦页面控件的页面控件确定为被聚焦页面控件;
将所述被聚焦页面控件的位置确定为所述焦点更新后的第二位置。
可选的,若确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,存在页面控件,且不存在属性为聚焦页面控件的页面控件,则在所述第一页面的文档对象模型DOM中,查找属性为聚焦页面控件的页面控件;
将查找到的页面控件的位置确定为所述焦点更新后的第二位置。
可选的,若确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,不存在页面控件,则将所述第一页面中的预设页面控件的位置确定为所述焦点更新后的第二位置。
本发明实施例提供一种焦点更新装置,包括:
处理模块,用于获取遥控器发送的键值,所述键值用于控制焦点的移动方向;将所述键值发送至所述终端显示的页面中层叠顺序最大的第一页面;
焦点计算模块,用于显示的所述第一页面根据所述焦点在所述第一页面中的第一位置以及所述键值确定所述焦点更新后的第二位置;
焦点管理模块,用于获取所述第一页面确定的第二位置,并在所述第一页面中,将所述焦点切换到所述第二位置。
可选的,所述焦点管理模块还用于:
显示的页面从所述第一页面切换到第二页面时,从所述第二页面获取所述焦点在所述第二页面中的初始位置;
在所述第二页面中,将所述焦点设置在所述初始位置。
可选的,所述焦点计算模块具体用于:
所述终端显示的所述第一页面,确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,存在页面控件,则将属性为聚焦页面控件的页面控件确定为被聚焦页面控件;
将所述被聚焦页面控件的位置确定为所述焦点更新后的第二位置。
可选的,若确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,存在页面控件,且不存在属性为聚焦页面控件的页面控件,则在所述第一页面的文档对象模型DOM中,查找属性为聚焦页面控件的页面控件;
将查找到的页面控件的位置确定为所述焦点更新后的第二位置。
可选的,若确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,不存在页面控件,则将所述第一页面中的预设页面控件的位置确定为所述焦点更新后的第二位置。
根据本发明实施例提供的方法,接收到用于控制网页中的焦点移动方向的遥控器的键值之后,将键值发送给第一页面,第一页面从而根据焦点当前的第一位置以及键值确定焦点更新后的第二位置。这样,可以将焦点计算的功能通过每个页面自主实现,从而在不增加过多工作量的前提下,降低了焦点管理的复杂度,使焦点管理***具有更强的健壮性。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例可以应用于各种类型的终端(包括但不限于:智能电视、机顶盒等设备),可选的,上述终端可以利用各种不同的浏览器访问网页服务器上的各种页面,其中页面包括但不限于HTML网页等页面。本发明实施例可以将焦点计算的功能通过每个页面自主实现,从而在不增加过多工作量的前提下,降低了焦点管理的复杂度,使焦点管理***具有更强的健壮性。
本发明实施例中,终端接收到遥控器的键值之后,终端的浏览器将键值发送给网页界面设计(Website User Interface,WebUI)。WebUI是指基于web技术的页面管理***。如图1所示,为本发明实施例提供的一种WebUI的结构示意图。WebUI包括页面管理模块和焦点设置模块,当然,WebUI还包括其它模块,在此不再逐一举例。其中,页面管理模块,负责页面的创建、更新、切换和销毁;焦点设置模块,负责根据从页面获取到的焦点的位置,在页面中设置焦点。
当WebUI获取到遥控器的键值之后,WebUI使用页面管理模块确认当前需要键值的页面,将键值发给该页面。
本发明实施例中,页面是指符合超级文本标记语言(HyperText MarkupLanguage,HTML)标准的文档页面,负责页面控件的定义和展示。图1示出了本发明实施例提供的一种页面的结构示意图,参见图1,在本发明实施例中,页面中包括焦点计算模块,该模块可以计算焦点在页面中的位置,并将计算出的焦点的位置发给WebUI。
页面还负责页面控件是否可以获得焦点的定义(即页面控件的属性为聚焦页面控件或者非聚焦页面控件),并且描述了该控件在上下左右四个方向的下一个可获得焦点的页面控件标识(即在页面控件属性nextFocusUP、nextFocusDOWN、nextFocusLEFT、nextFocusRIGHT中指定下一个页面控件的标识值)。
页面还负责焦点变化事件(焦点变化事件指页面控件获得焦点onFocus、失去焦点onBlur)的处理。其中,获得焦点的页面控件即为被聚焦的页面控件。
继续参见图2,焦点计算模块负责将接收并转化键值为焦点的移动方向(direction),并根据当前焦点位置currentFocusNode和移动方向传入焦点位置计算焦点更新后的位置。
需要说明的是,上述焦点计算模块可以是一段JS(JavaScrip)脚本程序。页面中需要嵌入这段程序才能进行焦点控制。
图3示出了本发明实施例提供的一种焦点更新方法的流程示意图,如图3所示,该方法包括:
步骤301:终端获取遥控器发送的键值,所述键值用于控制焦点的移动方向。
步骤302:所述终端将所述键值发送至所述终端显示的页面中层叠顺序最大的第一页面。
步骤303:所述终端显示的所述第一页面根据所述焦点在所述第一页面中的第一位置以及所述键值确定所述焦点更新后的第二位置。
步骤304:所述终端获取所述第一页面确定的第二位置,并在所述第一页面中,将所述焦点切换到所述第二位置。
步骤301中,遥控器的键值与焦点的一个移动方向对应,上述对应关系是预先约定的,终端通过接收到的键值就可以确定该键值对应的移动方向。
用户利用遥控器向终端发送携带有键值的操作指令,遥控器作为操作设备把键值传递给终端中的浏览器,浏览器把键值通过WebUI传递给页面;其中,页面本身有个属性可以获取到键值,详见协议规定,这里不再赘述。
步骤302中,页面的属性中,包括层叠顺序,拥有更高层叠顺序的页面总是会处于层叠顺序较低的页面的前面显示。本申请实施例中,用户通过遥控器需要操作的页面为显示在最前面的页面,因此可以将终端显示的页面中层叠顺序最大的页面,即第一页面,确定为焦点当前所处的页面。
步骤303中,第一种场景中,第一页面,具体可以为第一页面的焦点计算模块,可以确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,存在页面控件时,则将属性为聚焦页面控件的页面控件确定为被聚焦页面控件。其中,属性为聚焦页面控件,表示焦点可以位于该页面控件中,用户可以通过焦点对该页面控件执行相应的动作,例如点击操作等。
第一页面确定了被聚焦页面控件,则可以将所述被聚焦页面控件的位置确定为所述焦点更新后的第二位置。
需要说明的是,在本发明实施例中,页面控件是指HTML页面中的一些可见的Web标签,比如一个按钮,一个文本输入框等等。
还需要说明的是,本发明实施例仅以智能电视访问网页服务器上的页面为例进行了详细描述,通过其他终端访问网页服务器的方案均在本发明的保护范围内,这里不再赘述。
第二种场景中,第一页面,具体可以为第一页面的焦点计算模块,若确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,存在页面控件,且不存在属性为聚焦页面控件的页面控件,则在所述第一页面的文档对象模型(Document Object Model,DOM)树中,查找属性为聚焦页面控件的页面控件,并将查找到的页面控件的位置确定为所述焦点更新后的第二位置。
需要说明的是,一个页面是页面中包括的一系列的页面控件的集合,这些页面控件组成看树形结构,一般称为DOM树。
第三种场景中,第一页面,具体可以为第一页面的焦点计算模块,若确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,不存在页面控件,则将所述第一页面中的预设页面控件的位置确定为所述焦点更新后的第二位置。预设页面控件可以为第一页面中的任一页面控件,具体根据实际情况确定,在此不再赘述。
步骤304中,WebUI可以从第一页面获取到第二位置,从而可以将焦点设置在第一页面中的第二位置,实现焦点的切换。
下面通过一个详细的实施例描述上面的过程。
如图4所示,为本发明实施例提供的焦点移动的流程示意图,该流程可以包括:
步骤401:用户操作遥控器的按键,触发遥控器将对应的键值发送至智能电视,智能电视中的浏览器引擎接收由用户发送的遥控器的键值。
步骤402:浏览器引擎调用标准接口,将键值发送给WebUI。
步骤403:WebUI中的页面管理模块将键值发送给第一页面的焦点计算模块。
步骤404:第一页面的焦点计算模块根据键值以及焦点当前在第一页面中的第一位置计算出焦点的第二位置,第一页面存储第二位置,并将第二位置发送给WebUI中的焦点设置模块。
这样,由页面完成了对焦点位置的计算,使页面的焦点移动不再由浏览器统一管理,使得在多个页面多次切换时,实现了由切换后的页面提供焦点的位置,降低了焦点管理的复杂度,使焦点管理***具有更强的健壮性。
本发明实施例中,当显示的页面切换到其它页面时,第一页面可以保存焦点在第一页面中的最新位置,当再次切换到第一页面时,第一页面可以将保存的焦点的位置发送给WebUI,WebUI从而可以确定焦点在第一页面中的位置。举例来说,当终端显示的页面从所述第一页面切换到第二页面时,可以参考如图5所示的流程。
步骤501:终端显示的页面由第一页面切换到第二页面时,WebUI中的页面管理模块向第二页面发送焦点位置请求。
步骤502:第二页面的焦点计算模块获取保存的焦点在所述第二页面中的初始位置。
步骤503:第二页面将初始位置发送至WebUI中的焦点设置模块。
步骤504:WebUI在第二页面中,将所述焦点设置在所述初始位置。
基于相同的技术构思,如图6所示,本发明实施例提供一种焦点更新装置的结构示意图。
参见图6,该装置包括:
处理模块601,用于获取遥控器发送的键值,所述键值用于控制焦点的移动方向;将所述键值发送至所述终端显示的页面中层叠顺序最大的第一页面;
焦点计算模块602,用于显示的所述第一页面根据所述焦点在所述第一页面中的第一位置以及所述键值确定所述焦点更新后的第二位置;
焦点管理模块603,用于获取所述第一页面确定的第二位置,并在所述第一页面中,将所述焦点切换到所述第二位置。
可选的,所述焦点管理模块603还用于:
显示的页面从所述第一页面切换到第二页面时,从所述第二页面获取所述焦点在所述第二页面中的初始位置;
在所述第二页面中,将所述焦点设置在所述初始位置。
可选的,所述焦点计算模块602具体用于:
所述终端显示的所述第一页面,确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,存在页面控件,则将属性为聚焦页面控件的页面控件确定为被聚焦页面控件;
将所述被聚焦页面控件的位置确定为所述焦点更新后的第二位置。
可选的,若确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,存在页面控件,且不存在属性为聚焦页面控件的页面控件,则在所述第一页面的文档对象模型DOM中,查找属性为聚焦页面控件的页面控件;
将查找到的页面控件的位置确定为所述焦点更新后的第二位置。
可选的,若确定所述第一位置对应的页面控件,在所述键值控制的移动方向上,不存在页面控件,则将所述第一页面中的预设页面控件的位置确定为所述焦点更新后的第二位置。
根据本发明实施例提供的方法,接收到用于控制网页中的焦点移动方向的遥控器的键值之后,将键值发送给第一页面,第一页面从而根据焦点当前的第一位置以及键值确定焦点更新后的第二位置。这样,可以将焦点计算的功能通过每个页面自主实现,从而在不增加过多工作量的前提下,降低了焦点管理的复杂度,使焦点管理***具有更强的健壮性。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。