CN110049374A - 一种焦点框确定方法及装置 - Google Patents

一种焦点框确定方法及装置 Download PDF

Info

Publication number
CN110049374A
CN110049374A CN201910191101.4A CN201910191101A CN110049374A CN 110049374 A CN110049374 A CN 110049374A CN 201910191101 A CN201910191101 A CN 201910191101A CN 110049374 A CN110049374 A CN 110049374A
Authority
CN
China
Prior art keywords
event
frame
chained list
programmable button
focus frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910191101.4A
Other languages
English (en)
Other versions
CN110049374B (zh
Inventor
李铁柱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Broadband Multimedia Technology Co Ltd
Original Assignee
Hisense Broadband Multimedia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hisense Broadband Multimedia Technology Co Ltd filed Critical Hisense Broadband Multimedia Technology Co Ltd
Priority to CN201910191101.4A priority Critical patent/CN110049374B/zh
Publication of CN110049374A publication Critical patent/CN110049374A/zh
Application granted granted Critical
Publication of CN110049374B publication Critical patent/CN110049374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Abstract

本申请公开了一种焦点框确定方法及装置,用以使得浏览器能正确选择焦点框,从而保证按键事件可以被正常处理,以提高开发和对接效率。本申请实施例提供的一种焦点框确定方法,包括:按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框。

Description

一种焦点框确定方法及装置
技术领域
本申请涉及智能电视技术领域,尤其涉及一种焦点框确定方法及装置。
背景技术
交互式网络电视IPTV运营商开发电子节目指南(Electronic Program Guide,EPG)网页时,经常在一个页面中使用多个框架(frame)元素来实现不同的显示和功能,有的用来页面呈现,有的用来接收按键并处理按键(有时按键处理和呈现也在一个frame里面),有的用来播放视频,有的用来上报信息等。
机顶盒中集成的浏览器通常按照标准浏览器的处理方法:如果某个frame中有主动获取焦点的JavaScript(JS)代码(类似focus()的函数),则对应的frame会被选为焦点框(focusedframe);多个frame情况下,按解析顺序父页面对应的frame总是获得focusedframe,浏览器总是把按键事件分给这个focusedframe处理;但目前一些市场运营商都不是通过JS代码来指定哪个frame为focusedframe,而是使用私有规则口头或书面告诉开发者哪个frame为focusedframe,比如通过id或者名字或者序号等来指定。
此时通用浏览器会默认把focusedframe选择在父页面上,而按键值会分发给这个focusedframe,如果该focusedframe没有注册用户输入事件,就导致页面无法正确响应用户的按键。而IPTV产品上没有类似个人计算机PC或手机的设备来随意点击屏幕以重选focusedframe,因此这种情况用户无法继续操作。
上述情况导致在对接不同市场时,都要根据实际情况调整focusedframe,来保证浏览器能正常处理按键,这种情况会降低开发和对接效率,同时在运营商调整规则后,可能又会出现问题。
发明内容
本申请实施例提供了一种焦点框确定方法及装置,用以使得浏览器能正确选择焦点框,从而保证按键事件可以被正常处理,以提高开发和对接效率。
本申请实施例提供的一种焦点框确定方法,包括:
按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;
将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框。
通过该方法,按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框,使得浏览器能正确选择焦点框,从而保证按键事件可以被正常处理,以提高开发和对接效率。
可选地,所述预设的按键处理事件顺序为以下事件顺序:输入input事件、点击click事件、按键按下keypress事件、按键按下keydown事件;
或者,输入input事件、点击click事件、按键按下keydown事件、按键按下keypress事件。
可选地,将与查找到的预设按键处理事件的事件类型相同的预设事件对应的框架确定为焦点框,具体包括:
将查找到的第一个预设按键处理事件对应的框架确定为焦点框。
可选地,将查找到的第一个预设按键处理事件对应的框架确定为焦点框,具体包括:
将查找到的第一个input事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到input事件,则继续查找click事件,将查找到的第一个click事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到click事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则不重新设置焦点框;
或者,
如果在所述事件链表中没有查找到click事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则不重新设置焦点框。
可选地,当所述事件链表中的预设按键处理事件有多个时,执行以下步骤:
将用户输入的按键指令分发给焦点框处理,并通过处理完成后的返回值判断所述按键指令是否已被焦点框对应的事件处理;
如果是,则结束按键处理;否则,按照事件链表中的预设按键处理事件顺序,依次查找预设按键处理事件,并判断查找到的预设按键处理事件对应的框架是否被分发过按键指令:如果是,则继续按照事件链表中的预设按键处理事件顺序,查找下一个预设按键处理事件;否则,将按键指令分发给所述查找到的预设按键处理事件对应的框架处理;
如果所述下一个预设按键处理事件对应的框架处理了所述按键指令,则结束按键处理,否则,继续按照事件链表中的预设事件顺序进行查找,直到所述按键指令被处理或者遍历所述事件链表中的所有预设按键处理事件。
相应地,在装置侧,本申请实施例提供的一种焦点框确定装置,该装置包括:
第一单元,用于按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;
第二单元,用于将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框。
可选地,所述预设的按键处理事件顺序为以下事件顺序:输入input事件、点击click事件、按键按下keypress事件、按键按下keydown事件;
或者,输入input事件、点击click事件、按键按下keydown事件、按键按下keypress事件。
可选地,所述第二单元具体用于:将查找到的第一个预设按键处理事件对应的框架确定为焦点框。
本申请实施例还提供的一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述本申请实施例提供的任一种所述的方法。
本申请另一实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的机顶盒IPTV浏览器工作框架流程示意图;
图2为本申请实施例提供的一种焦点框确定方法示意图;
图3为本申请实施例提供的事件链表示意图;
图4为本申请实施例提供的一种焦点框确定装置示意图;
图5为本申请实施例还提供的一种焦点框确定装置示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合说明书附图对本申请各个实施例进行详细描述。需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。
参见图1,为机顶盒IPTV浏览器工作框架流程图,如图1中,浏览器从指定地址完成认证后,会加载服务器下发的首页数据。页面数据通常为超级文本标记语言(HyperTextMarkup Language,HTML)文件格式,来描述页面布局等,同时HTML中都会引用一些JS代码来执行一些动态操作。IPTV机顶盒里面的浏览器负责对页面文件进行解析、布局渲染,将页面呈现出来,同时根据用户操作并依据页面内容,可能会重新调用资源加载器模块去服务器更新或请求新的页面。
框架frame是浏览器用来呈现信息的一个单位,每个frame都是由实际对应的一个HTML网页产生,浏览器在解析完成后每个frame也会生成一个对应文档document类。document类是浏览器中一个重要父类,用来实现显示,管理事件等,一个HTML页面中用来显示内容的各种描述,都会经过浏览器解析后成为document类里面的各个元素,并经过渲染布局后呈现,最终屏幕呈现出的图案,可能由一个frame全部实现,也可能是多个frame组合呈现的效果;常用浏览器都支持框架集(frameset)、内联框架(iframe)等元素实现多框和内联框的呈现,有些frame也可能没有具体显示内容,而只用来处理按键或上报数据等特殊功能。
一个HTML页面中的需要获取按键的JS代码或者需要接收用户输入的元素经过浏览器解析后,会在document里面注册成一些事件和对应事件处理的回调函数;例如页面中onkeydown或者onkeypress的JS代码,会在解析后注册成keydown事件或者keypress事件,这两个事件可以响应任何按键;页面中input元素会解析成input事件,它可以响应一些特定字符;A标签超链接会解析成click事件,它响应确定键。当浏览器中的frame tree中有多个frame时,浏览器始终会设置一个焦点框focusedframe,用户的按键输入等会传递给焦点框,焦点框再将按键分发给能处理此按键的事件。
参见图2,本申请实施例提供的一种焦点框确定方法,包括:
S101、按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;
例如,在预设的事件链表中,input事件_1对应Frame_1,input事件_n对应Frame_n;也可能事件链表中的所有事件都属于同一个frame。
S102、将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框。
例如,按照预设的按键处理事件顺序,首先查找input事件,将查找到的任一个input事件对应的框架确定为焦点框。
可选地,所述预设的按键处理事件顺序为以下事件顺序:输入input事件、点击click事件、按键按下keypress事件、按键按下keydown事件;
或者,输入input事件、点击click事件、按键按下keydown事件、按键按下keypress事件。
例如,input事件处理数字或字母键,click事件处理确定键,keypress事件和keydown事件处理所有键;按照开发者和使用者的习惯来看,一个页面的input输入元素通常最希望优先处理用户的按键指令。
可选地,将与查找到的预设按键处理事件的事件类型相同的预设事件对应的框架确定为焦点框,具体包括:
将查找到的第一个预设按键处理事件对应的框架确定为焦点框。
可选地,将查找到的第一个预设按键处理事件对应的框架确定为焦点框,具体包括:
将查找到的第一个input事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到input事件,则继续查找click事件,将查找到的第一个click事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到click事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则不重新设置焦点框;
或者,
如果在所述事件链表中没有查找到click事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则不重新设置焦点框。
例如,如果在事件链表中没有input事件、click事件、keypress事件、keydown事件,则说明事件链表为空,此时不重新设置焦点框focusedframe,保持原有浏览器默认设置,即默认设置父frame为focusedframe;如果通过事件链表确定第一个input事件对应的框架为焦点框,则当用户通过遥控器输入数字键时,焦点框会对输入的数字键进行处理。
可选地,当所述事件链表中的预设按键处理事件有多个时,执行以下步骤:
将用户输入的按键指令分发给焦点框处理,并通过处理完成后的返回值判断所述按键指令是否已被焦点框对应的事件处理;
如果是,则结束按键处理;否则,按照事件链表中的预设按键处理事件顺序,依次查找预设按键处理事件,并判断查找到的预设按键处理事件对应的框架是否被分发过按键指令:如果是,则继续按照事件链表中的预设按键处理事件顺序,查找下一个预设按键处理事件;否则,将按键指令分发给所述查找到的预设按键处理事件对应的框架处理;
如果所述下一个预设按键处理事件对应的框架处理了所述按键指令,则结束按键处理,否则,继续按照事件链表中的预设事件顺序进行查找,直到所述按键指令被处理或者遍历所述事件链表中的所有预设按键处理事件。
例如,所述事件链表中的预设按键处理事件包括input事件、keypress事件,根据事件链表选定的焦点框为input事件对应的frame,如果用户选中input元素且输入了合法字符(例如字母键),则会将键值给input输入元素;如果用户输入类似快进快退等功能键,而焦点框中input事件不能处理这类按键,则会将用户输入的类似快进快退等功能键分发给其他frame(例如keypress事件所属的frame)进行处理;而按照原来的浏览器逻辑,将用户输入的按键指令分发给焦点框之后不会再分发给其他frame,这可能导致无法达到预期效果,原来的解决办法是只能单独调整浏览器按键流程来处理。
以下步骤为本申请实施例提供的一种自动选择焦点框的方法和规则:
步骤一,建立事件链表;
参见图3,为本申请实施例提供的事件链表示意图,在浏览器解析页面完毕后,按照input事件、click事件、keypress事件、keydown事件的顺序;或者,按照input事件、click事件、keydown事件、keypress事件的顺序,依次遍历搜索frame tree(x,y,…,n)(其中,x,y,…,n代表frame的序号)中每个frame对应的document里面注册的按键处理事件,同时记录事件对应的frame,形成事件链表event_list,图3为事件顺序为input事件、click事件、keydown事件、keypress事件的事件链表图,input事件_1、click事件_1和keydown_n都归属于frame_x(最常见的情况是所有事件都归属于一个frame)。
步骤二,根据事件链表选定focusedframe;
如果事件链表为空,即frame tree中所有frame对应的document里面都没有input事件或者click事件或者keypress事件或者keydown事件,此时不重新设置focusedframe,保持原有浏览器默认设置,即默认选中的父页面为focusedframe。
如果事件链表不为空,则首先查找事件链表中的input事件,将查找到的第一个input事件所属的frame设置为focusedframe(也可以设置除了第一个input事件之外的其他input事件);如果在事件链表中没有查找到input事件,则继续查找click事件,将查找到的第一个click事件所属的frame设置为focusedframe(也可以设置除了第一个click事件之外的其他click事件);如果在事件链表中没有查找到click事件,则继续查找keypress事件,将查找到的第一个keypress事件所属的frame设置为focusedframe(也可以设置除了第一个keypress事件之外的其他keypress事件);如果在事件链表中没有查找到keypress事件,则继续查找keydown事件,将查找到的第一个keydown事件所属的frame设置为focusedframe(也可以设置除了第一个keydown事件之外的其他keydown事件);或者,如果在事件链表中没有查找到click事件,则继续查找keydown事件,将查找到的第一个keydown事件所属的frame设置为focusedframe(也可以设置除了第一个keydown事件之外的其他keydown事件);如果在事件链表中没有查找到keydown事件,则继续查找keypress事件,将查找到的第一个keypress事件所属的frame设置为focusedframe(也可以设置除了第一个keypress事件之外的其他keypress事件)。
根据上述步骤选定focusedframe,例如选择第一个input事件所属的frame作为focusedframe,则当接收到用户输入的合法字符后,例如数字或字母键,会将键值给input输入元素进行处理。
步骤三,特殊按键指令再分发处理流程;
有些市场在frame tree中会存在多个frame都有注册的按键处理事件,则生成的事件链表中会有多个按键处理事件,例如事件链表中的frame_a中有input输入元素,frame_b中有onkeypress代码来接收按键;如果用户输入类似快进快退等功能键,则按键会传递给frame_b来处理,具体操作步骤如下:
接收用户输入的按键指令,将该按键指令分发给focusedframe(通过步骤一和步骤二确定focusedframe)进行处理,并通过浏览器的返回值来判断按键指令是否被focusedframe中注册的按键处理事件处理:如果根据返回值判断按键指令已经被处理过,则结束该次按键处理操作(一个按键指令不能被同时被多个按键处理事件处理);如果根据返回值判断按键指令没有被处理,则会按照事件链表中的事件顺序,从事件链表中第一个事件开始查找,如果第一个事件对应的frame为focusedframe,则继续按照事件链表中的事件顺序查找第二个事件,如果第二个事件对应的frame不是focusedframe,则将按键指令转发给第二个事件对应的frame进行处理,并通过浏览器的返回值判断按键指令是否被处理,如果按键指令被处理,则结束该次按键处理操作(不再将该按键指令转发给其他frame);如果按键指令没有被处理,则继续按照事件链表中的事件顺序查找第三个事件,并判断第三个事件对应的frame是否被分发过按键,如果没有分发过,则将按键指令分发给第三个事件对应的frame进行处理;直到该按键指令被按键处理事件处理或者遍历事件链表中的所有事件,该循环结束。
例如,接收用户输入的按键指令(按键指令为类似快进快退等功能键),将该按键指令分发给focusedframe(通过步骤一和步骤二确定第一个input事件对应的frame为focusedframe)进行处理,并通过浏览器的返回值判断按键指令没有被处理,则会按照事件链表中的事件顺序,从事件链表中第一个事件开始查找,发现第一个事件对应的frame为focusedframe,则继续按照事件链表中的事件顺序查找第二个事件,发现第二个事件对应的frame不是focusedframe,则将按键指令分发给第二个事件对应的frame进行处理,并通过浏览器的返回值判断按键指令没有被处理(第二个事件属于input事件),则继续按照事件链表中的事件顺序查找第三个事件,并发现第三个事件对应的frame没有被分发过按键,则将按键指令分发给第三个事件对应的frame进行处理,通过浏览器的返回值判断按键指令被处理(第三个事件属于keypress事件),则循环结束。
相应地,在装置侧,参见图4,本申请实施例提供的一种焦点框确定装置,包括:
第一单元11,用于按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;
第二单元12,用于将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框。
可选地,所述预设的按键处理事件顺序为以下事件顺序:输入input事件、点击click事件、按键按下keypress事件、按键按下keydown事件;
或者,输入input事件、点击click事件、按键按下keydown事件、按键按下keypress事件。
可选地,所述第二单元12具体用于:将查找到的第一个预设按键处理事件对应的框架确定为焦点框。
可选地,所述第二单元12还用于:将查找到的第一个input事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到input事件,则继续查找click事件,将查找到的第一个click事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到click事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则不重新设置焦点框;
或者,
如果在所述事件链表中没有查找到click事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则不重新设置焦点框。
可选地,可选地,当所述事件链表中的预设按键处理事件有多个时,所述第二单元12执行以下步骤:
将用户输入的按键指令分发给焦点框处理,并通过处理完成后的返回值判断所述按键指令是否已被焦点框对应的事件处理;
如果是,则结束按键处理;否则,按照事件链表中的预设按键处理事件顺序,依次查找预设按键处理事件,并判断查找到的预设按键处理事件对应的框架是否被分发过按键指令:如果是,则继续按照事件链表中的预设按键处理事件顺序,查找下一个预设按键处理事件;否则,将按键指令分发给所述查找到的预设按键处理事件对应的框架处理;
如果所述下一个预设按键处理事件对应的框架处理了所述按键指令,则结束按键处理,否则,继续按照事件链表中的预设事件顺序进行查找,直到所述按键指令被处理或者遍历所述事件链表中的所有预设按键处理事件。
参见图5,本申请实施例还提供的一种焦点框确定装置,包括:
处理器600,用于读取存储器610中的程序,执行下列过程:
按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;
将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框。
通过该装置,按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框,使得浏览器能正确选择焦点框,从而保证按键事件可以被正常处理,以提高开发和对接效率。
可选地,所述预设的按键处理事件顺序为以下事件顺序:输入input事件、点击click事件、按键按下keypress事件、按键按下keydown事件;
或者,输入input事件、点击click事件、按键按下keydown事件、按键按下keypress事件。
可选地,将与查找到的预设按键处理事件的事件类型相同的预设事件对应的框架确定为焦点框,具体包括:
将查找到的第一个预设按键处理事件对应的框架确定为焦点框。
可选地,将查找到的第一个预设按键处理事件对应的框架确定为焦点框,具体包括:
将查找到的第一个input事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到input事件,则继续查找click事件,将查找到的第一个click事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到click事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则不重新设置焦点框;
或者,
如果在所述事件链表中没有查找到click事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则不重新设置焦点框。
可选地,当所述事件链表中的预设按键处理事件有多个时,执行以下步骤:
将用户输入的按键指令分发给焦点框处理,并通过处理完成后的返回值判断所述按键指令是否已被焦点框对应的事件处理;
如果是,则结束按键处理;否则,按照事件链表中的预设按键处理事件顺序,依次查找预设按键处理事件,并判断查找到的预设按键处理事件对应的框架是否被分发过按键指令:如果是,则继续按照事件链表中的预设按键处理事件顺序,查找下一个预设按键处理事件;否则,将按键指令分发给所述查找到的预设按键处理事件对应的框架处理;
如果所述下一个预设按键处理事件对应的框架处理了所述按键指令,则结束按键处理,否则,继续按照事件链表中的预设事件顺序进行查找,直到所述按键指令被处理或者遍历所述事件链表中的所有预设按键处理事件。
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器610代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。
本申请实施例提供了一种显示终端,该显示终端具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该显示终端可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
针对不同的显示终端,可选地,用户接口620可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器600负责管理总线架构和通常的处理,存储器610可以存储处理器600在执行操作时所使用的数据。
可选地,处理器600可以是CPU(中央处埋器)、ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
存储器610可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储本申请实施例提供的任一所述方法的程序。
处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行本申请实施例提供的任一所述方法。
本申请实施例提供了一种计算机存储介质,用于储存为上述本申请实施例提供的装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
综上所述,本申请实施例提供了一种焦点框确定方法及装置,使得浏览器能正确选择焦点框,从而保证按键事件可以被正常处理,以提高开发和对接效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种焦点框确定方法,其特征在于,该方法包括:
按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;
将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框。
2.根据权利要求1所述的方法,其特征在于,所述预设的按键处理事件顺序为以下事件顺序:
输入input事件、点击click事件、按键按下keypress事件、按键按下keydown事件;
或者,输入input事件、点击click事件、按键按下keydown事件、按键按下keypress事件。
3.根据权利要求2所述的方法,其特征在于,将与查找到的预设按键处理事件的事件类型相同的预设事件对应的框架确定为焦点框,具体包括:
将查找到的第一个预设按键处理事件对应的框架确定为焦点框。
4.根据权利要求3所述的方法,其特征在于,将查找到的第一个预设按键处理事件对应的框架确定为焦点框,具体包括:
将查找到的第一个input事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到input事件,则继续查找click事件,将查找到的第一个click事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到click事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则不重新设置焦点框;
或者,
如果在所述事件链表中没有查找到click事件,则继续查找keydown事件,将查找到的第一个keydown事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keydown事件,则继续查找keypress事件,将查找到的第一个keypress事件对应的框架设置为焦点框;
如果在所述事件链表中没有查找到keypress事件,则不重新设置焦点框。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
当所述事件链表中的预设按键处理事件有多个时,执行以下步骤:
将用户输入的按键指令分发给焦点框处理,并通过处理完成后的返回值判断所述按键指令是否已被焦点框对应的事件处理;
如果是,则结束按键处理;否则,按照事件链表中的预设按键处理事件顺序,依次查找预设按键处理事件,并判断查找到的预设按键处理事件对应的框架是否被分发过按键指令:如果是,则继续按照事件链表中的预设按键处理事件顺序,查找下一个预设按键处理事件;否则,将按键指令分发给所述查找到的预设按键处理事件对应的框架处理;
如果所述下一个预设按键处理事件对应的框架处理了所述按键指令,则结束按键处理,否则,继续按照事件链表中的预设事件顺序进行查找,直到所述按键指令被处理或者遍历所述事件链表中的所有预设按键处理事件。
6.一种焦点框确定装置,其特征在于,该装置包括:
第一单元,用于按照预设的按键处理事件顺序,在预设的事件链表中依次查找事件;其中,所述事件链表中包括预先按照按键处理事件顺序设置的按键处理事件与框架frame的对应关系;
第二单元,用于将与查找到的预设按键处理事件的事件类型相同的预设按键处理事件对应的框架确定为焦点框。
7.根据权利要求6所述的装置,其特征在于,所述预设的按键处理事件顺序为以下事件顺序:输入input事件、点击click事件、按键按下keypress事件、按键按下keydown事件;
或者,输入input事件、点击click事件、按键按下keydown事件、按键按下keypress事件。
8.根据权利要求7所述的装置,其特征在于,所述第二单元具体用于:将查找到的第一个预设按键处理事件对应的框架确定为焦点框。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1~5任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至5任一项所述的方法。
CN201910191101.4A 2019-03-12 2019-03-12 一种焦点框确定方法及装置 Active CN110049374B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910191101.4A CN110049374B (zh) 2019-03-12 2019-03-12 一种焦点框确定方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910191101.4A CN110049374B (zh) 2019-03-12 2019-03-12 一种焦点框确定方法及装置

Publications (2)

Publication Number Publication Date
CN110049374A true CN110049374A (zh) 2019-07-23
CN110049374B CN110049374B (zh) 2021-06-29

Family

ID=67273682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910191101.4A Active CN110049374B (zh) 2019-03-12 2019-03-12 一种焦点框确定方法及装置

Country Status (1)

Country Link
CN (1) CN110049374B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199130A (zh) * 2020-10-14 2021-01-08 上海妙一生物科技有限公司 绑定函数执行方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100011322A1 (en) * 2001-08-29 2010-01-14 Vulcan Ventures, Inc. System and method for focused navigation within a user interface
CN102843596A (zh) * 2012-08-17 2012-12-26 深圳市同洲电子股份有限公司 一种用于智能电视的输入方法
CN106155644A (zh) * 2015-03-27 2016-11-23 中国科学院声学研究所 适用于智能电视浏览器的网页焦点控制实现方法
CN107071583A (zh) * 2017-05-03 2017-08-18 四川易迅通健康医疗技术发展有限公司 一种用于iptv平台的epg页面焦点控制方法
CN108124179A (zh) * 2017-12-14 2018-06-05 上海斐讯数据通信技术有限公司 一种多控件之间焦点切换的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100011322A1 (en) * 2001-08-29 2010-01-14 Vulcan Ventures, Inc. System and method for focused navigation within a user interface
CN102843596A (zh) * 2012-08-17 2012-12-26 深圳市同洲电子股份有限公司 一种用于智能电视的输入方法
CN106155644A (zh) * 2015-03-27 2016-11-23 中国科学院声学研究所 适用于智能电视浏览器的网页焦点控制实现方法
CN107071583A (zh) * 2017-05-03 2017-08-18 四川易迅通健康医疗技术发展有限公司 一种用于iptv平台的epg页面焦点控制方法
CN108124179A (zh) * 2017-12-14 2018-06-05 上海斐讯数据通信技术有限公司 一种多控件之间焦点切换的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199130A (zh) * 2020-10-14 2021-01-08 上海妙一生物科技有限公司 绑定函数执行方法、装置、设备和存储介质
CN112199130B (zh) * 2020-10-14 2022-07-01 上海妙一生物科技有限公司 绑定函数执行方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN110049374B (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
US11170159B1 (en) System and method for using a dynamic webpage editor
US8832578B1 (en) Visual clipboard on soft keyboard
US10013263B2 (en) Systems and methods method for providing an interactive help file for host software user interfaces
US11010536B2 (en) Systems and methods for dynamic web user interface generation
CN111045653B (zh) 系统生成方法、装置、计算机可读介质及电子设备
EP3249554A1 (en) Systems and methods for client-side dynamic information resource activation and deactivation
WO2018121206A1 (zh) 一种验证码数据处理方法、装置及存储介质
KR102351420B1 (ko) 단일 뷰에서의 검색 결과-기반 리스팅 생성
US8707210B2 (en) Display control apparatus and method for selecting an interactive object on a display frame by a numeric controller
JP5437325B2 (ja) 情報処理装置、システム、方法及びプログラム
CN110049374A (zh) 一种焦点框确定方法及装置
CN110618811B (zh) 信息呈现方法和装置
CN112770142A (zh) 一种互动视频交互方法、装置及电子设备
JP2023014128A (ja) プログラム、表示制御方法、サーバ装置、及び、システム
CN112584197B (zh) 互动剧故事线的绘制方法、装置、计算机介质及电子设备
CN112464127A (zh) 网页中组件顺序的调整方法、装置、电子设备及存储介质
CN112417832A (zh) 一种电子表格文档的格式转换方法、装置及电子设备
CN113760162A (zh) 用于显示信息的方法、装置、设备以及存储介质
CN113515701A (zh) 信息推荐方法及装置
CN102375657A (zh) 提供控制器选取显示画面互动对象的显示控制装置及方法
CN111104626B (zh) 信息存储方法和装置
CN112818267A (zh) 数据处理方法、装置、计算机可读存储介质及电子设备
CN105354225A (zh) 一种网络搜索结果推荐方法及电子设备
CN113162840B (zh) 显示方法、显示装置、电子设备及可读存储介质
CN115344152B (zh) 界面操作方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant