CN101763267A - 嵌入式浏览器的实现方法、装置和数字电视接收终端 - Google Patents
嵌入式浏览器的实现方法、装置和数字电视接收终端 Download PDFInfo
- Publication number
- CN101763267A CN101763267A CN201010044461A CN201010044461A CN101763267A CN 101763267 A CN101763267 A CN 101763267A CN 201010044461 A CN201010044461 A CN 201010044461A CN 201010044461 A CN201010044461 A CN 201010044461A CN 101763267 A CN101763267 A CN 101763267A
- Authority
- CN
- China
- Prior art keywords
- window
- browser
- operated
- page
- event message
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Abstract
本发明实施例公开了嵌入式浏览器的实现方法,包括:接收启动浏览器的指令,打开第一窗口的页面;根据第一窗口的页面,通过扩展脚本接口调用浏览器预先设置的对外接口创建至少一个第二窗口;加载第二窗口的页面。相应地,本发明实施例还公开了一种嵌入式浏览器的实现装置和一种数字电视接收终端,实施本发明实施例,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口,在启动浏览器时即加载第二窗口的页面,提高了页面间切换的速度,给用户带来更好的体验;通过扩展脚本接口可以更加方便地管理多个窗口,实现多个窗口的交互,便于承载更多的业务,并提高嵌入式设备的应用维护性,减少应用开发人员的工作量,提高应用开发效率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种嵌入式浏览器的实现方法、装置和一种数字电视接收终端。
背景技术
浏览器已经成为了个人计算机(PC,Personal Computer)的必备软件,是用户获取信息的最主要方式之一。随着科学技术的发展,浏览器也逐渐地被配置到嵌入式设备上,成为这些设备获取信息的主要渠道,如机顶盒、手机和个人数码助理(PDA,Personal Digital Assistant)等。
但是嵌入式设备的运行环境与PC的运行环境往往存在很大区别。在PC运行环境中,当需要改变页面的大小、位置等信息时,可以打开多个窗口(即打开多个任务),然后通过拖动窗口来改变页面的大小、位置等信息;然而当前的嵌入式浏览器往往是单任务运行,不适合启动多任务来管理窗口的信息,如何改进嵌入式浏览器以更好地实现多窗口的管理和交互,如何提高用户的体验是人们一直研究的热点问题。
发明内容
本发明实施例在于提供一种嵌入式浏览器的实现方法、装置和一种数字电视接收终端,在启动浏览器时即创建并加载第二窗口的页面,便于用户对第二窗口的管理和交互,给用户带来更好的体验。
为了达到上述技术效果,本发明实施例提出了一种嵌入式浏览器的实现方法,包括:
接收启动浏览器的指令,打开第一窗口的页面;
根据所述第一窗口的页面,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口;
加载所述第二窗口的页面。
优选地,所述通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口的步骤之前,还包括:
设置用于创建所述第二窗口的对外接口。
优选地,所述通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口的步骤之后,还包括:
记录所述第二窗口的相关信息,所述相关信息包括地址信息和数据结构信息。
优选地,所述加载所述第二窗口的页面的步骤之后,还包括:
接收对所述第二窗口或所述第一窗口的操作请求;
当接收到消息队列中对所述第二窗口进行操作的事件消息后,激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作;
当接收到消息队列中对所述第一窗口进行操作的事件消息后,根据所述操作请求对所述第一窗口进行操作。
优选地所述当接收到消息队列中对所述第二窗口进行操作的事件消息后,激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作的步骤包括:
接收消息队列中对窗口进行操作的事件消息;
根据记录的所述第二窗口的相关信息,判断所述事件消息中的窗口是否为所述第二窗口;
当判断结果为是时,则激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作。
优选地,对所述第二窗口或所述第一窗口的操作请求包括对所述第二窗口或所述第一窗口进行操作的脚本函数;
所述根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作的步骤包括:通过扩展脚本接口执行对所述第二窗口进行操作的脚本函数;
所述根据所述操作请求对所述第一窗口进行操作的步骤包括:通过扩展脚本接口执行对所述第一窗口进行操作的脚本函数。
相应地,本发明实施例公开了一种嵌入式浏览器的实现装置,包括:
启动接收模块,用于接收启动浏览器的指令;
第一窗口打开模块,用于打开第一窗口的页面;
第二窗口创建模块,用于根据所述第一窗口的页面,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口;
加载页面模块,用于加载所述第二窗口的页面。
优选地,所述嵌入式浏览器的实现装置还包括:
对外接口设置模块,用于设置用于创建所述第二窗口的对外接口。
优选地,所述嵌入式浏览器的实现装置还包括:
记录模块,用于记录所述第二窗口的相关信息,所述相关信息包括地址信息和数据结构信息。
优选地,所述嵌入式浏览器的实现装置还包括用于管理窗口的窗口管理器,所述窗口管理器包括:
请求接收模块,用于接收对所述第二窗口或所述第一窗口的操作请求;
第二操作模块,用于当接收到消息队列中对所述第二窗口进行操作的事件消息后,激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作;
第一操作模块,用于当接收到消息队列中对所述第一窗口进行操作的事件消息后,根据所述操作请求对所述第一窗口进行操作。
优选地,所述嵌入式浏览器的实现装置还包括事件管理器,用于读取消息队列,并将读取的消息队列中事件消息发送给所述窗口管理器。
优选地,所述第二操作模块包括:
事件消息接收单元,用于接收所述事件管理器发送的对窗口进行操作的事件消息;
判断单元,用于根据所述记录模块记录的所述第二窗口的相关信息,判断所述事件消息中的窗口是否为所述第二窗口;
操作单元,用于当所述判断单元的判断结果为是时,则激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作。
优选地,对所述第二窗口或所述第一窗口的操作请求包括对所述第二窗口或所述第一窗口进行操作的脚本函数;
所述操作单元用于当所述判断单元的判断结果为是时,则激活所述第二窗口,并通过扩展脚本接口执行对所述第二窗口进行操作的脚本函数;
所述第一操作模块用于当接收到消息队列读取的对所述第一窗口进行操作的事件消息后,通过扩展脚本接口执行对所述第一窗口进行操作的脚本函数。
相应地,本发明实施例还公开了一种数字电视接收终端,包括上述的嵌入式浏览器的实现装置。
实施本发明实施例,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口,在启动浏览器时即加载第二窗口的页面,提高了页面间切换的速度,给用户带来更好的体验;通过扩展脚本接口可以更加方便地管理多个窗口,实现多个窗口的交互,便于承载更多的业务,并提高嵌入式设备的应用维护性,减少应用开发人员的工作量,提高应用开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例嵌入式浏览器的实现方法的流程示意图;
图2是本发明实施例中窗口交互的方法流程示意图;
图3是本发明实施例的嵌入式浏览器的实现装置的结构示意图;
图4是本发明嵌入式浏览器的实现装置的另一实施例的结构示意图;
图5是本发明实施例的第二操作模块的结构示意图;
图6是本发明实施例的数字电视接收终端的结构示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
请参阅图1示出的本发明实施例嵌入式浏览器的实现方法的流程示意图,包括:
步骤S101:接收启动浏览器的指令,打开第一窗口的页面;
具体地,嵌入式设备启动以后,将接收到启动浏览器的指令,启动浏览器任务,并进行浏览器的初始化,如初始化浏览器占用的内存、高速缓存(Cache)、分辨率等参数,然后浏览器将创建一个第一窗口对象,接着创建第一窗口页面,并打开指定的页面,本发明实施例中的第一窗口即主窗口(main window),打开的第一窗口的页面往往为主窗口的主菜单或portal(入口界面)。
步骤S102:根据所述第一窗口的页面,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口;
具体地,预先设置浏览器的用于创建第二窗口的对外接口(如C++对外接口),根据所述第一窗口的页面,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口,即可以根据打开的第一窗口的页面中应用,通过扩展脚本接口调用浏览器的C++对外接口创建至少一个第二窗口,即,在后台创建至少一个第二窗口,本发明实施例中的第二窗口为浮动窗口,即,可以叠加在第一窗口(主窗口)之上的窗口;以数字电视接收终端为例,根据打开的第一窗口的页面中应用的需要,可以创建电子节目菜单(EPG,ElectronicProgram Guide)窗口、频道管理窗口、节目预定窗口、条件接收CA提示信息窗口网络断开信息窗口等第二窗口。其中扩展脚本接口包括扩展javascript接口。
步骤S103:加载所述第二窗口的页面。
具体地,第二窗口创建完毕后,加载所述第二窗口的页面,如较复杂的EPG页面、频道管理页面、节目预定页面、CA提示信息页面、网络断开信息页面等等,并通知浏览器任务第二窗口的创建与加载成功,即,在启动嵌入式设备,打开第一窗口页面的同时,浏览器已经在后台创建和加载完毕第二窗口的页面。
进一步地,步骤S102之后,本发明还可以包括记录所述第二窗口的相关信息的步骤,具体地,所述第二窗口创建成功后,将注册所述第二窗口,记录所述第二窗口的相关信息,包括第二窗口的地址信息(如内存地址信息)和数据结构信息(如窗口的名称、窗口ID、窗口的大小、窗口的显示状态等信息)等。需要说明的是,根据所述窗口的显示状态信息,通过扩展javascript接口执行相关函数可以控制该窗口的页面是显示还是隐藏,一般地,如广告窗口的显示状态为显示,那么通过扩展javascript接口执行显示该广告窗口的函数,即可以控制广告窗口的页面为显示状态,又如EPG窗口显示状态为隐藏,那么通过扩展javascript接口执行隐藏该广告窗口的函数,即可以控制EPG页面隐藏在后台。
再进一步地,本发明中第一窗口与第二窗口可以进行交互,互相通信,互相控制,下面结合图2,详细说明本发明中第一窗口与第二窗口进行交互的过程:
步骤S201:接收对所述第二窗口或所述第一窗口的操作请求;
具体地,用户可以根据需要对所述第二窗口或者所述第一窗口进行操作,如需要打开显示某个第二窗口,或者关闭隐藏某个第二窗口,或者控制某个第二窗口的位置、大小等,那么浏览器将接收到对所述第二窗口或所述第一窗口的操作请求,进一步地,浏览器可以通过创建用于管理窗口的窗口管理器,主要是负责第一窗口与第二窗口的交互,以及多个第二窗口之间的调用,由该窗口管理器接收对所述第二窗口或所述第一窗口的操作请求,该操作请求包括请求执行操作的脚本函数,以及请求操作的窗口的部分相关信息,如窗口ID或窗口的内存地址信息等。
步骤S202:接收消息队列中对窗口进行操作的事件消息;
具体地,用户可以根据需要对所述第二窗口或者所述第一窗口进行操作的同时,浏览器向消息队列发送对窗口进行操作的事件消息,进一步地,浏览器可以通过创建用于统一读取消息队列中的事件消息的事件管理器,由事件管理器不断地读取消息队列,然后将读取的消息队列中事件消息发送给窗口管理器进行管理操作,即,浏览器向消息队列发送对窗口进行操作的事件消息后,事件管理器读取到消息队列中的对窗口进行操作的事件消息,并将该事件消息发送给窗口管理器,那么浏览器通过窗口管理器就可以接收到消息队列中对窗口进行操作的事件消息。
步骤S203:判断所述事件消息中的窗口;
具体地,浏览器将判断事件消息中需要进行操作的窗口是否为第一窗口,以及根据记录的所述第二窗口的相关信息判断事件消息中需要进行操作的窗口是否为第二窗口。
步骤S204:当判断出所述事件消息中的窗口为第二窗口时,则激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作;当判断出所述事件消息中的窗口为第一窗口时,则根据所述操作请求对所述第一窗口进行操作。
具体地,当判断出所述事件消息中的窗口为第二窗口时,表明用户需要从当前第一窗口或者另外某个第二窗口中调用该第二窗口,则激活该第二窗口,并根据操作请求中该第二窗口的部分相关信息查找预先记录的该第二窗口的全部相关信息(如根据第二窗口的窗口ID,对应查找出该第二窗口的窗口名称、内存地址、窗口大小等信息,又如根据第二窗口的内存地址,对应查找出该第二窗口的窗口名称、窗口ID、窗口大小等信息),然后通过扩展脚本接口执行操作请求中对第二窗口进行操作的脚本函数,如更新该第二窗口的内容、调整第二窗口的位置和大小、对该第二窗口进行显示、隐藏或关闭(销毁)等操作;当判断出所述事件消息中的窗口为第一窗口时,表明用户需要从当前某个第二窗口中调用第一窗口,那么将通过扩展脚本接口执行操作请求中对第一窗口进行操作的脚本函数,如控制第一窗口执行隐藏或销毁某个第二窗口的操作等。需要说明的是,当判断出接收到所述事件消息中的窗口既不为第二窗口也不为第一窗口时,则表明事件消息发送了错误消息,不对窗口进行操作,结束流程。
进一步地,下面以在数字电视接收终端中第一窗口与隐藏的EPG窗口进行交互,调用隐藏的EPG窗口为例子,结合上述图2中的流程步骤进行说明:
当用户需要从当前显示的第一窗口(主窗口)切换到隐藏的EPG窗口的EPG页面时,浏览器主窗口首先将EPG窗口的内存地址(或EPG窗口ID等),以及需要执行哪些javascript函数等信息发送到窗口管理器,同时发送javascript激活事件消息给消息队列,事件管理器在不断地读取消息队列的过程中接收到主窗口发来的javascript激活事件消息后,就将该javascript激活事件消息发送给窗口管理器,窗口管理器立即查找当前是否存在EPG窗口(即判断是否为第二窗口),若存在则激活EPG窗口,并且通过扩展的javascript接口执行主窗口发送给EPG窗口页面javascript函数。
需要说明的是,扩展javascript接口格式可以为以下格式,但不限于以下格式:如floatFrame.frameName.function(),floatFrame.frameName是扩展的第二窗口(浮动窗口)接口,指的就是具体调用哪个浮动窗口,function()就是具体哪个浮动窗口如EPG页面的javascript函数。这样就可以控制浮动窗口EPG的节目内容刷新,窗口大小,显示位置等。此时EPG即为活动窗口,也就可以响应用户的任何操作,如上下切换频道,预定节目等。当用户需要退出EPG浮动窗口页面时,同样需要也是发送消息给第一窗口(主窗口),此过程与主窗口发送给浮动窗口过程是一致的,当浮动窗口需要调用主窗口页面的某个函数时,也需要通过扩展的javascript接口调用,如:mainFrame.function(),mainFrame是扩展的接口,指的就是主窗口页面,function()就是主窗口页面的javascript函数,此时就可以执行隐藏或是销毁EPG浮动窗口等动作。
还需要说明的是,第二窗口与第二窗口之间的交互流程与第一窗口与第二窗口的交互流程一致,进行消息传递的机制相同,这里不再赘述。第一窗口与第二窗口不同的是,第一窗口永远存在,不能被销毁,除非退出浏览器,而第二窗口可以通过扩展脚本接口随时随地被创建和销毁。
通过实施本发明,还可以提高嵌入式浏览器的应用维护性,如在数字电视接收终端中通过扩展脚本接口创建一个页面用于CA的各种提示,网络状态提示,预定节目提示等,当需要修改提示的表现时,只需通过扩展脚本接口如floatFrame.location.href=″tishi.htm″,修改该页面即可,避免了修改所有页面代码;应用人员还可以随意开发许多效果炫丽的第二窗口,提高用户体验;通过创建第二窗口,可以承载更多业务,如widget(微巨)、广告等,且更便于控制,解决了现有技术中单窗口浏览器只能浏览单一页面的问题。
上面详细说明了本发明嵌入式浏览器的实现方法,下面相应地,详细说明本发明的嵌入式浏览器的实现装置,如图3所示,嵌入式浏览器的实现装置3包括:启动接收模块31、第一窗口打开模块32、对外接口设置模块33、第二窗口创建模块34和加载页面模块35,其中
启动接收模块31用于接收启动浏览器的指令;
第一窗口打开模块32用于打开第一窗口的页面;
具体地,嵌入式设备启动以后,启动接收模块31将接收到启动浏览器的指令,启动浏览器任务,并进行浏览器的初始化,如初始化浏览器占用的内存、高速缓存(Cache)、分辨率等参数,然后浏览器将创建一个第一窗口对象,接着创建第一窗口页面,第一窗口打开模块32将打开指定的页面,本发明中的第一窗口即主窗口(main window),打开的第一窗口的页面往往为主窗口的主菜单或portal(入口界面)。
对外接口设置模块33用于设置用于创建所述第二窗口的对外接口;
第二窗口创建模块34用于根据所述第一窗口的页面,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口;
具体地,对外接口设置模块33用于创建第二窗口的对外接口(如C++对外接口),那么第二窗口创建模块34将根据所述第一窗口的页面,通过扩展脚本接口调用对外接口设置模块33设置的对外接口创建至少一个第二窗口,即可以根据打开的第一窗口的页面中应用,通过扩展javascript接口调用浏览器的C++对外接口创建至少一个第二窗口,即,浏览器在后台创建至少一个第二窗口,本发明中的第二窗口为浮动窗口,即,可以叠加在第一窗口(主窗口)上的窗口;以数字电视接收终端为例,第二窗口创建模块34根据打开的第一窗口的页面中应用的需要,可以创建电子节目菜单(EPG,Electronic Program Guide)窗口、频道管理窗口、节目预定窗口、数字证书认证中心(CA,Certificate Authority)提示信息窗口网络断开信息窗口等第二窗口。
加载页面模块35用于加载所述第二窗口的页面。
具体地,第二窗口创建完毕后,加载页面模块35加载所述第二窗口的页面,如较复杂的EPG页面、频道管理页面、节目预定页面、CA提示信息页面、网络断开信息页面等等,并通知浏览器任务第二窗口的创建与加载成功,即,在启动嵌入式设备,打开第一窗口页面的同时,浏览器已经在后台创建和加载完毕第二窗口的页面。
请参阅图4示出的本发明的嵌入式浏览器的实现装置的另一实施例的结构示意图,进一步详细说明本发明的嵌入式浏览器的实现装置的结构,嵌入式浏览器的实现装置3包括启动接收模块31、第一窗口打开模块32、对外接口设置模块33、第二窗口创建模块34和加载页面模块35外,还包括记录模块36、窗口管理器37以及事件管理器38,其中
记录模块36用于记录所述第二窗口的相关信息,所述相关信息包括地址信息和数据结构信息;
具体地,所述第二窗口创建成功后,记录模块36将注册所述第二窗口,记录所述第二窗口的相关信息,包括第二窗口的地址信息(如内存地址信息)和数据结构信息(如窗口的名称、窗口ID、窗口的大小、窗口的显示状态等信息)等。需要说明的是,根据所述窗口的显示状态信息,通过扩展javascript接口可以控制该窗口的页面时显示还是隐藏,一般地,如广告窗口的显示状态为显示,那么通过扩展javascript接口的控制,广告窗口的页面可以显示,又如EPG窗口显示状态为隐藏,那么通过扩展javascript接口的控制,EPG页面为隐藏在后台。
窗口管理器37用于管理窗口,主要是负责第一窗口与第二窗口的交互,以及多个第二窗口之间的调用,具体地,窗口管理器37包括请求接收模块371、第二操作模块372和第一操作模块373,其中
请求接收模块371用于接收对所述第二窗口或所述第一窗口的操作请求;
具体地,用户可以根据需要对所述第二窗口或者所述第一窗口进行操作,如需要打开显示某个第二窗口,或者关闭隐藏某个第二窗口,或者控制某个第二窗口的位置、大小等,那么请求接收模块37将接收到对所述第二窗口或所述第一窗口的操作请求,该操作请求包括请求执行操作的脚本函数,以及请求操作的窗口的部分相关信息(如窗口ID或窗口的内存地址信息等)。
第二操作模块372用于当接收到消息队列中对所述第二窗口进行操作的事件消息后,激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作;
具体地,如图5示出的本发明实施例的第二操作模块的结构示意图,第二操作模块372包括事件消息接收单元3721、判断单元3722和操作单元3723,其中
事件消息接收单元3721用于接收消息队列中对窗口进行操作的事件消息;
具体地,用户可以根据需要对所述第二窗口或者所述第一窗口进行操作的同时,浏览器向消息队列发送对窗口进行操作的事件消息,进一步地,浏览器可以通过创建用于统一读取消息队列中的事件消息的事件管理器,由事件管理器不断地读取消息队列,然后将读取的消息队列中事件消息发送给窗口管理器进行管理操作,即,浏览器向消息队列发送对窗口进行操作的事件消息后,事件管理器读取到消息队列中的对窗口进行操作的事件消息,并将该事件消息发送给窗口管理器,那么事件消息接收单元3721就接收到消息队列中对窗口进行操作的事件消息。
判断单元3722用于根据所述记录模块记录的所述第二窗口的相关信息,判断所述事件消息中的窗口是否为所述第二窗口;
操作单元3723用于当判断单元3722的判断结果为是时,则激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作;
具体地,当判断出所述事件消息中的窗口为第二窗口时,表明用户需要从当前第一窗口或者另外某个第二窗口中调用该第二窗口,操作单元3723将激活该第二窗口,并根据操作请求中该第二窗口的部分相关信息查找预先记录的该第二窗口的全部相关信息(如根据第二窗口的窗口ID,对应查找出该第二窗口的窗口名称、内存地址、窗口大小等信息,又如根据第二窗口的内存地址,对应查找出该第二窗口的窗口名称、窗口ID、窗口大小等信息),然后通过扩展脚本接口执行操作请求中对第二窗口进行操作的脚本函数,如更新该第二窗口的内容、调整第二窗口的位置和大小、对该第二窗口进行显示、隐藏或关闭(销毁)等操作。
第一操作模块373用于当接收到消息队列中对所述第一窗口进行操作的事件消息后,根据所述操作请求对所述第一窗口进行操作。
具体地,第一操作模块373判断出所述事件消息中的窗口为第一窗口时,表明用户需要从当前某个第二窗口中调用第一窗口,那么将通过扩展脚本接口执行操作请求中对第一窗口进行操作的脚本函数,如控制第一窗口执行隐藏或销毁某个第二窗口的操作等。
事件管理器38用于不断地读取消息队列,并将读取的消息队列中事件消息发送给窗口管理器37进行管理操作。具体地,窗口管理器37中的第二操作模块372和第一操作模块373根据接收到的事件管理器38发送的事件消息进行操作。
本发明还公开了一种数字电视接收终端,如图6所示,数字电视接收终端6包括本发明的嵌入式浏览器的实现装置3,进一步地,下面以在数字电视接收终端6中第一窗口与隐藏的EPG窗口进行交互,调用隐藏的EPG窗口为例进行说明:
当用户需要从当前显示的第一窗口(主窗口)切换到隐藏的EPG窗口的EPG页面时,浏览器主窗口首先将EPG窗口的内存地址(或EPG窗口ID等),以及需要执行哪些函数等信息发送到窗口管理器37,同时发送激活事件消息给消息队列,事件管理器38在不断地读取消息队列的过程中接收到主窗口发来的激活事件消息后,就将该激活事件消息发送给窗口管理器37,窗口管理器37立即查找当前是否存在EPG窗口(即判断是否为第二窗口),若存在则激活EPG窗口,并且通过扩展的javascript接口执行主窗口发送给EPG窗口页面javascript函数。
需要说明的是,扩展javascript接口格式可以为以下格式,但不限于以下格式:如floatFrame.frameName.function(),floatFrame.frameName是扩展的第二窗口(浮动窗口)接口,指的就是具体调用哪个浮动窗口,function()就是具体哪个浮动窗口如EPG页面的javascript函数。这样就可以控制浮动窗口EPG的节目内容刷新,窗口大小,显示位置等。此时EPG即为活动窗口,也就可以响应用户的任何操作,如上下切换频道,预定节目等。当用户需要退出EPG浮动窗口页面时,同样需要也是发送消息给第一窗口(主窗口),此过程与主窗口发送给浮动窗口过程是一致的,当浮动窗口需要调用主窗口页面的某个函数时,也需要通过扩展的javascript接口调用,如:mainFrame.function(),mainFrame是扩展的接口,指的就是主窗口页面,function()就是主窗口页面的javascript函数,此时就可以执行隐藏或是销毁EPG浮动窗口等动作。
还需要说明的是,第二窗口与第二窗口之间的交互流程与第一窗口与第二窗口的交互流程一致,进行消息传递的机制相同,这里不再赘述。第一窗口与第二窗口不同的是,第一窗口永远存在,不能被销毁,除非退出浏览器,而第二窗口可以通过扩展脚本接口随时随地被创建和销毁;除了本发明的数字电视接收终端6外,其他嵌入式设备如手机和PDA等都可以包括上述实施例的嵌入式浏览器的实现装置3。
本发明的数字电视接收终端包括但不限于:机顶盒、网络协议电视(InternetProtocol Television,IPTV)、数字电视一体机、电视手机等具有接收数字电视功能的终端。
综上所述,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口,在启动浏览器时即加载第二窗口的页面,提高了页面间切换的速度,给用户带来更好的体验;通过扩展脚本接口可以更加方便地管理多个窗口,实现多个窗口的交互,便于承载更多的业务,并提高嵌入式设备的应用维护性,减少应用开发人员的工作量,提高应用开发效率,应用人员还可以随意开发许多效果炫丽的第二窗口,提高用户体验;通过创建第二窗口,可以承载更多业务,如widget(微巨)、广告等,且更便于控制,解决了现有中单窗口浏览器只能浏览单一页面的问题。
需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明实施例中的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (14)
1.一种嵌入式浏览器的实现方法,其特征在于,包括:
接收启动浏览器的指令,打开第一窗口的页面;
根据所述第一窗口的页面,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口;
加载所述第二窗口的页面。
2.如权利要求1所述的方法,其特征在于,所述通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口的步骤之前,还包括:
设置用于创建所述第二窗口的对外接口。
3.如权利要求2所述的方法,其特征在于,所述通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口的步骤之后,还包括:
记录所述第二窗口的相关信息,所述相关信息包括地址信息和数据结构信息。
4.如权利要求3所述的方法,其特征在于,所述加载所述第二窗口的页面的步骤之后,还包括:
接收对所述第二窗口或所述第一窗口的操作请求;
当接收到消息队列中对所述第二窗口进行操作的事件消息后,激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作;
当接收到消息队列中对所述第一窗口进行操作的事件消息后,根据所述操作请求对所述第一窗口进行操作。
5.如权利要求4所述的方法,其特征在于,所述当接收到消息队列中对所述第二窗口进行操作的事件消息后,激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作的步骤包括:
接收消息队列中对窗口进行操作的事件消息;
根据记录的所述第二窗口的相关信息,判断所述事件消息中的窗口是否为所述第二窗口;
当判断结果为是时,则激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作。
6.如权利要求4或5所述的方法,其特征在于,对所述第二窗口或所述第一窗口的操作请求包括对所述第二窗口或所述第一窗口进行操作的脚本函数;
所述根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作的步骤包括:通过扩展脚本接口执行对所述第二窗口进行操作的脚本函数;
所述根据所述操作请求对所述第一窗口进行操作的步骤包括:通过扩展脚本接口执行对所述第一窗口进行操作的脚本函数。
7.一种嵌入式浏览器的实现装置,其特征在于,包括:
启动接收模块,用于接收启动浏览器的指令;
第一窗口打开模块,用于打开第一窗口的页面;
第二窗口创建模块,用于根据所述第一窗口的页面,通过扩展脚本接口调用所述浏览器预先设置的对外接口创建至少一个第二窗口;
加载页面模块,用于加载所述第二窗口的页面。
8.如权利要求7所述的嵌入式浏览器的实现装置,其特征在于,还包括:
对外接口设置模块,用于设置用于创建所述第二窗口的对外接口。
9.如权利要求8所述的嵌入式浏览器的实现装置,其特征在于,还包括:
记录模块,用于记录所述第二窗口的相关信息,所述相关信息包括地址信息和数据结构信息。
10.如权利要求9所述的嵌入式浏览器的实现装置,其特征在于,还包括用于管理窗口的窗口管理器,所述窗口管理器包括:
请求接收模块,用于接收对所述第二窗口或所述第一窗口的操作请求;
第二操作模块,用于当接收到消息队列中对所述第二窗口进行操作的事件消息后,激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作;
第一操作模块,用于当接收到消息队列中对所述第一窗口进行操作的事件消息后,根据所述操作请求对所述第一窗口进行操作。
11.如权利要求10所述的嵌入式浏览器的实现装置,其特征在于,还包括事件管理器,用于读取消息队列,并将读取的消息队列中事件消息发送给所述窗口管理器。
12.如权利要求11所述的嵌入式浏览器的实现装置,其特征在于,所述第二操作模块包括:
事件消息接收单元,用于接收所述事件管理器发送的对窗口进行操作的事件消息;
判断单元,用于根据所述记录模块记录的所述第二窗口的相关信息,判断所述事件消息中的窗口是否为所述第二窗口;
操作单元,用于当所述判断单元的判断结果为是时,则激活所述第二窗口,并根据所述操作请求以及记录的所述第二窗口的相关信息对所述第二窗口进行操作。
13.如权利要求10、11或12所述的嵌入式浏览器的实现装置,其特征在于,对所述第二窗口或所述第一窗口的操作请求包括对所述第二窗口或所述第一窗口进行操作的脚本函数;
所述操作单元用于当所述判断单元的判断结果为是时,则激活所述第二窗口,并通过扩展脚本接口执行对所述第二窗口进行操作的脚本函数;
所述第一操作模块用于当接收到消息队列读取的对所述第一窗口进行操作的事件消息后,通过扩展脚本接口执行对所述第一窗口进行操作的脚本函数。
14.一种数字电视接收终端,其特征在于,包括如权利要求7至12任一项所述的嵌入式浏览器的实现装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010044461A CN101763267A (zh) | 2010-01-21 | 2010-01-21 | 嵌入式浏览器的实现方法、装置和数字电视接收终端 |
PCT/CN2011/070117 WO2011088759A1 (zh) | 2010-01-21 | 2011-01-10 | 嵌入式浏览器的实现方法、装置和数字电视接收终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010044461A CN101763267A (zh) | 2010-01-21 | 2010-01-21 | 嵌入式浏览器的实现方法、装置和数字电视接收终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101763267A true CN101763267A (zh) | 2010-06-30 |
Family
ID=42494439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010044461A Pending CN101763267A (zh) | 2010-01-21 | 2010-01-21 | 嵌入式浏览器的实现方法、装置和数字电视接收终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101763267A (zh) |
WO (1) | WO2011088759A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102307319A (zh) * | 2011-09-02 | 2012-01-04 | 广东中大讯通软件科技有限公司 | 基于iptv机顶盒的嵌入式浏览器的实现方法及其装置 |
CN102591704A (zh) * | 2011-01-07 | 2012-07-18 | 北京国微集成技术有限公司 | Widget平台的多任务管理方法、装置及系统 |
CN102982132A (zh) * | 2012-11-16 | 2013-03-20 | 深圳市同洲电子股份有限公司 | 一种浏览器多页面的控制方法及装置 |
CN103376974A (zh) * | 2013-06-28 | 2013-10-30 | 广州市动景计算机科技有限公司 | 一种窗口切换方法及装置 |
CN103425390A (zh) * | 2013-07-26 | 2013-12-04 | 华为软件技术有限公司 | 信息交互方法和装置 |
CN103440340A (zh) * | 2013-09-09 | 2013-12-11 | 黄卓勋 | 一种导航网页内容显示方法及装置 |
CN103544059A (zh) * | 2013-07-16 | 2014-01-29 | Tcl集团股份有限公司 | 一种应用切换时等待缓冲效果的实现方法及系统 |
CN103561326A (zh) * | 2013-11-01 | 2014-02-05 | 深圳国微技术有限公司 | 一种基于数字电视浏览器的播放方法 |
CN104581394A (zh) * | 2015-01-08 | 2015-04-29 | 浪潮软件集团有限公司 | 一种基于浏览器架构的机顶盒实现背景pvr的方法 |
CN106126268A (zh) * | 2016-08-18 | 2016-11-16 | 福建天泉教育科技有限公司 | 一种窗口创建方法及系统 |
CN107423143A (zh) * | 2017-06-29 | 2017-12-01 | 武汉斗鱼网络科技有限公司 | 一种浮层间通信管理方法及系统 |
CN107454456A (zh) * | 2017-09-06 | 2017-12-08 | 武汉斗鱼网络科技有限公司 | 一种浮层元素的管理控制方法及系统 |
CN109325190A (zh) * | 2018-08-21 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种页面管理的方法以及相关装置 |
CN111061976A (zh) * | 2019-12-31 | 2020-04-24 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
CN111741347A (zh) * | 2019-03-25 | 2020-10-02 | 深圳市茁壮网络股份有限公司 | 电视页面显示方法及相关设备 |
CN112351340A (zh) * | 2019-08-08 | 2021-02-09 | 南京中兴新软件有限责任公司 | 按键分发处理公共事件的方法、装置及机顶盒 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100469135C (zh) * | 2005-10-25 | 2009-03-11 | 中央电视台 | 一种基于嵌入式浏览器增强电视的实现方法 |
CN101119476A (zh) * | 2007-09-04 | 2008-02-06 | 中兴通讯股份有限公司 | 网络电视嵌入式浏览器下的页面动感效果的实现方法 |
-
2010
- 2010-01-21 CN CN201010044461A patent/CN101763267A/zh active Pending
-
2011
- 2011-01-10 WO PCT/CN2011/070117 patent/WO2011088759A1/zh active Application Filing
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591704A (zh) * | 2011-01-07 | 2012-07-18 | 北京国微集成技术有限公司 | Widget平台的多任务管理方法、装置及系统 |
CN102307319A (zh) * | 2011-09-02 | 2012-01-04 | 广东中大讯通软件科技有限公司 | 基于iptv机顶盒的嵌入式浏览器的实现方法及其装置 |
CN102982132A (zh) * | 2012-11-16 | 2013-03-20 | 深圳市同洲电子股份有限公司 | 一种浏览器多页面的控制方法及装置 |
CN103376974A (zh) * | 2013-06-28 | 2013-10-30 | 广州市动景计算机科技有限公司 | 一种窗口切换方法及装置 |
US10460001B2 (en) | 2013-06-28 | 2019-10-29 | Guangzhou Ucweb Computer Technology Co., Ltd. | Window switching method and device and storage medium thereof |
WO2014206113A1 (zh) * | 2013-06-28 | 2014-12-31 | 广州市动景计算机科技有限公司 | 窗口切换方法、装置及其存储介质 |
CN103544059A (zh) * | 2013-07-16 | 2014-01-29 | Tcl集团股份有限公司 | 一种应用切换时等待缓冲效果的实现方法及系统 |
CN103544059B (zh) * | 2013-07-16 | 2017-08-08 | Tcl集团股份有限公司 | 一种应用切换时等待缓冲效果的实现方法及系统 |
CN103425390B (zh) * | 2013-07-26 | 2016-06-22 | 华为软件技术有限公司 | 信息交互方法和装置 |
CN103425390A (zh) * | 2013-07-26 | 2013-12-04 | 华为软件技术有限公司 | 信息交互方法和装置 |
CN103440340A (zh) * | 2013-09-09 | 2013-12-11 | 黄卓勋 | 一种导航网页内容显示方法及装置 |
CN103561326B (zh) * | 2013-11-01 | 2017-04-05 | 深圳国微技术有限公司 | 一种基于数字电视浏览器的播放方法 |
CN103561326A (zh) * | 2013-11-01 | 2014-02-05 | 深圳国微技术有限公司 | 一种基于数字电视浏览器的播放方法 |
CN104581394B (zh) * | 2015-01-08 | 2017-12-22 | 浪潮软件集团有限公司 | 一种基于浏览器架构的机顶盒实现背景pvr的方法 |
CN104581394A (zh) * | 2015-01-08 | 2015-04-29 | 浪潮软件集团有限公司 | 一种基于浏览器架构的机顶盒实现背景pvr的方法 |
CN106126268A (zh) * | 2016-08-18 | 2016-11-16 | 福建天泉教育科技有限公司 | 一种窗口创建方法及系统 |
CN107423143B (zh) * | 2017-06-29 | 2019-12-03 | 武汉斗鱼网络科技有限公司 | 一种浮层间通信管理方法及系统 |
CN107423143A (zh) * | 2017-06-29 | 2017-12-01 | 武汉斗鱼网络科技有限公司 | 一种浮层间通信管理方法及系统 |
CN107454456A (zh) * | 2017-09-06 | 2017-12-08 | 武汉斗鱼网络科技有限公司 | 一种浮层元素的管理控制方法及系统 |
CN109325190A (zh) * | 2018-08-21 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种页面管理的方法以及相关装置 |
CN111741347A (zh) * | 2019-03-25 | 2020-10-02 | 深圳市茁壮网络股份有限公司 | 电视页面显示方法及相关设备 |
CN111741347B (zh) * | 2019-03-25 | 2024-02-13 | 深圳市茁壮网络股份有限公司 | 电视页面显示方法及相关设备 |
CN112351340A (zh) * | 2019-08-08 | 2021-02-09 | 南京中兴新软件有限责任公司 | 按键分发处理公共事件的方法、装置及机顶盒 |
CN112351340B (zh) * | 2019-08-08 | 2023-08-18 | 中兴通讯股份有限公司 | 按键分发处理公共按键消息的方法、装置及机顶盒 |
CN111061976A (zh) * | 2019-12-31 | 2020-04-24 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
CN111061976B (zh) * | 2019-12-31 | 2023-08-08 | 哈尔滨海能达科技有限公司 | 浏览器的对象展示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2011088759A1 (zh) | 2011-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101763267A (zh) | 嵌入式浏览器的实现方法、装置和数字电视接收终端 | |
US10754668B2 (en) | Media file presentation method, client application, and plug-in | |
CN103729425A (zh) | 操作响应方法、客户端、浏览器及系统 | |
US20120317233A1 (en) | Mobile web app infrastructure | |
CN105786473A (zh) | 多任务界面的任务管理方法、装置及终端设备 | |
CN104135684A (zh) | 一种基于Firefox OS的界面显示方法及装置 | |
CN102801755A (zh) | 一种应用的管理方法和一种应用平台 | |
CN104093077A (zh) | 多终端互联的方法、装置及系统 | |
CN102243559A (zh) | 一种用图形界面进行媒体资产管理的方法及系统 | |
CN104092815A (zh) | 一种基于安卓系统的应用间信息交互方法及装置 | |
CN103530160A (zh) | 一种页面加载的方法和装置 | |
CN103209203A (zh) | 一种跨平台提供应用的方法以及客户端 | |
CN105630949A (zh) | 页面加载、回退方法和装置 | |
CN103914320A (zh) | 一种显示方法和电子设备 | |
CN103246665B (zh) | 在切换网页时保持音乐续播的方法和装置 | |
CN101996096A (zh) | 操作系统数据修改方法及其具有多操作系统的电子装置 | |
CN103473035A (zh) | 截屏方法和装置 | |
CN104202390A (zh) | 在线资源下载推送至移动终端的方法和装置 | |
WO2011067980A1 (ja) | コンテンツ選択システム、提供装置、転送装置、およびコンテンツ選択方法 | |
CN105389096A (zh) | 基于浏览器的数据交互方法及装置 | |
CN106792206A (zh) | 一种电视菜单自适应更新方法及系统 | |
CN106250212A (zh) | 资源访问方法及装置 | |
CN112653608B (zh) | 一种显示设备、移动终端及跨网数据传输的方法 | |
CN103645896A (zh) | 基于html5实现应用功能的方法与装置 | |
WO2016127888A1 (zh) | 一种多媒体文件下载的方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1145887 Country of ref document: HK |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100630 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1145887 Country of ref document: HK |