一种脚本处理的方法、装置和嵌入式浏览器的制作方法

文档序号:7720563阅读:91来源:国知局
专利名称:一种脚本处理的方法、装置和嵌入式浏览器的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种脚本处理的方法、装置和嵌入式浏览器。
背景技术
数字电视为用户带来了丰富多彩的电视节目,随着数字电视行业的发展,越来越 多的机顶盒内置了网页浏览器,给用户带来越来越多的功能和业务,越来越多的功能和业 务,如电视播放,频道搜索、上网浏览、互动游戏等,将通过网页形式进行展现。那么,许多业 务的控制逻辑就必须采用网页脚本(简称脚本,如JavaScript就是一种网页脚本)编程来 实现。 由于脚本是一种解释型的语言,每一个网页要完整展现,都需要将页面及其相关 的脚本下载到本地,然后解析脚本并解析生成语法树,然后运行脚本才能完整地展现网页。 因此,即便几个网页引用了相同的脚本,在每次打开网页时,也需要对脚本进行多次下载和 解析,影响了网页展现的速度,降低用户的体验。

发明内容
本发明实施例在于提供一种脚本处理的方法、装置和嵌入式浏览器,解决了重复
下载解析脚本的问题,提高了网页展现的速度,给用户带来更好的体验。 为了达到上述技术效果,本发明实施例提出了一种脚本处理的方法,包括 下载网页文件,初始化网页脚本语法树,并获取网页中引用的脚本文件信息; 检测本端的语法树缓存区中是否存储有所述脚本文件对应的语法树; 当所述检测的结果为否时,则从网络侧下载所述脚本文件,当所述检测的结果为
是时,则将本端的语法树缓存区中所述语法树添加到初始化的网页脚本语法树中。
优选地,当所述检测的结果为是之后,还包括 判断存储的所述语法树是否有效; 当所述判断的结果为否时,则从网络侧下载所述脚本文件,当所述判断的结果为 是时,则执行将本端的语法树缓存区中所述语法树添加到初始化的网页脚本语法树中的步骤。
优选地,所述判断存储的所述语法树是否有效的步骤包括
判断存储的所述语法树是否在有效期内; 当所述判断的结果为否时,则从网络侧下载所述脚本文件,当所述判断的结果为 是时,判断所述语法树在网络侧是否存在更新版本; 当判断出所述语法树在网络侧存在更新版本时,则从网络侧下载所述脚本文件, 当判断出所述语法树在网络侧不存在更新版本时,则执行将本端的语法树缓存区中所述语 法树添加到初始化的网页脚本语法树中的步骤。 优选地,所述从网络侧下载所述脚本文件的步骤之后还包括
检测所述脚本文件是否携带有预设的缓存标识;
当所述检测的结果为是时,则缓存所述脚本文件对应的语法树,当所述检测的结果为否时,则结束流程。 优选地,所述缓存所述脚本文件对应的语法树的步骤包括 判断本端的语法树缓存区是否有容量存储下载的脚本文件对应的语法树; 当所述判断的结果为是时,则缓存下载的脚本文件对应的语法树,当所述判断的
结果为否时,则根据语法树缓存区中脚本文件对应的语法树的优先级信息删除语法树缓存
区中脚本文件对应的语法树,缓存下载的脚本文件对应的语法树。 相应地,本发明实施例公开了一种脚本处理装置,包括 初始化模块,用于初始化网页脚本语法树; 获取模块,用于获取网页中引用的脚本文件信息; 语法树缓存区,用于存储脚本文件对应的语法树; 检测模块,用于检测所述语法树缓存区中是否存储有所述脚本文件对应的语法树; 下载模块,用于当所述检测模块的检测结果为否时,从网络侧下载所述脚本文件; 添加模块,用于当所述检测模块的检测结果为是时,将所述语法树缓存区中所述语法树添加到初始化的网页脚本语法树中。
优选地,所述脚本处理装置还包括 判断模块,用于判断所述语法树缓存区中所述语法树是否有效,当判断的结果为否时,则触发所述下载模块从网络侧下载所述脚本文件,当判断的结果为是时,则触发所述添加模块将所述语法树缓存区中所述语法树添加到初始化的网页脚本语法树中。
优选地,所述判断模块包括 有效期判断单元,用于判断所述语法树缓存区中所述语法树是否在有效期内,当判断的结果为否时,则触发所述下载模块从网络侧下载所述脚本文件,当所述判断的结果为是时,触发更新判断单元进行判断; 更新判断单元,用于判断所述语法树在网络侧是否存在更新版本,当判断出所述语法树在网络侧存在更新版本时,则触发所述下载模块从网络侧下载所述脚本文件,当判断出所述语法树在网络侧不存在更新版本时,则触发所述添加模块将所述语法树缓存区中所述语法树添加到初始化的网页脚本语法树中。
优选地,所述脚本处理装置还包括 缓存检测处理模块,用于检测所述下载模块下载的脚本文件是否携带有预设的缓存标识,当所述检测的结果为是时,则将下载的脚本文件对应的语法树缓存到所述语法树缓存区,当所述检测的结果为否时,结束流程。
优选地,所述缓存检测处理模块包括 容量判断单元,用于判断所述语法树缓存区是否有容量存储下载的脚本文件对应的语法树,当所述判断的结果为是时,则将下载的脚本文件对应的语法树缓存到所述语法树缓存区,当所述判断的结果为否时,则触发删除单元进行删除; 删除单元,用于根据所述语法树缓存区中脚本文件对应的语法树的优先级信息删除所述语法树缓存区中脚本文件对应的语法树,缓存下载的脚本文件对应的语法树。
相应地,本发明实施例公开了一种嵌入式浏览器,包括上述的脚本处理装置。
实施本发明实施例,通过检测语法树缓存区的语法树,从语法树缓存区中直接添加有效的语法树,实现了展开网页时直接引用语法树缓存区中可用的语法树,避免了重复下载解析脚本的问题,提高了数字电视接收终端的性能,提高了网页展现的速度,给用户带来更好的体验。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的脚本处理方法的流程示意图; 图2是本发明的脚本处理方法的另一实施例的流程示意图; 图3是本发明的脚本处理装置的结构示意图; 图4是本发明的脚本处理装置的另一实施例的结构示意图。
具体实施例方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结
合附图及实施例,对本发明进行进一步详细说明。
实施例1 请参阅图1示出的本实施例的脚本处理方法的流程示意图,包括 步骤S101 :下载网页文件,初始化网页脚本语法树,并获取网页中引用的脚本文
件信息; 具体地,浏览器在展现网页的过程中,必须对脚本文件进行处理,终端首先下载网页文件,并解析该网页文件,以初始化网页脚本语法树,所述脚本文件信息包括脚本文件的名称、脚本文件的统一资源定位符(URL,UniformResource Locator)、脚本文件的数量等信息。
步骤S102 :检测本端的语法树缓存区中是否存储有所述脚本文件对应的语法树; 具体地,本端的语法树缓存区存储有一些之前展现的网页引用过的脚本文件对应
的语法树,当检测到本端的语法树缓存区存储的脚本文件对应的语法树没有当前需要引用
的脚本文件对应的语法树时,则执行步骤S103,当检测到本端的语法树缓存区存储的脚本
文件对应的语法树有当前需要引用的脚本文件对应的语法树时,则执行步骤S104。
步骤S103 :从网络侧下载所述脚本文件; 具体地,根据脚本文件的URL下载所述脚本文件。 步骤S104 :将本端的语法树缓存区中的语法树添加到初始化的网页脚本语法树中; 需要说明的是,步骤S103后还包括,解析从网络侧下载的脚本文件,生成语法树,并将生成的语法树添加到初始化的网页脚本语法树中。 步骤S105 :根据脚本语法树展现网页。具体地,当完成所有引用的语法树添加到初始化的网页脚本语法树后,根据该脚本语法树即可运行脚本,展现网页。
实施例2 下面结合图2,以网页需要引用多个脚本文件为例,进一步详细说明本发明的脚本处理方法的流程,包括 步骤S201 :下载网页文件,初始化网页脚本语法树,并获取网页中引用的脚本文件信息; 具体地,与实施例1的一致,这里不再赘述。
步骤S202 :检测本端的语法树缓存区中是否存储有所述脚本文件对应的语法树;
具体地,当检测结果为是时,则执行步骤S203,当检测结果为否时,则执行步骤S204。
步骤S203 :判断存储的所述语法树是否有效; 具体地,判断存储的所述语法树是否有效包括判断存储的所述语法树是否在有效期内,当判断的结果为否时,则执行步骤S204,当判断的结果为是时,则判断所述语法树在网络侧是否存在更新版本,当判断出所述语法树在网络侧存在更新版本时,则执行步骤S204,当判断出所述语法树在网络侧不存在更新版本时,则执行步骤S210。
步骤S204 :从网络侧下载所述脚本文件; 步骤S205 :解析所述脚本文件生成对应的语法树,并把该语法树添加到初始化的网页脚本语法树中; 步骤S206 :检测所述脚本文件是否携带有预设的缓存标识; 具体地,从解析的脚本文件中检测该脚本文件是否携带有预先设置的缓存标识,如服务端制作脚本文件时可以预先在脚本文件的头部插入缓存标识,如〈! 一cache =true validityPeriod = 1000priority = 100〃一>,该缓存标识表示该脚本文件可以被缓存,有效期为1000秒,优先级为100。需要说明的是,本实施例的缓存标识并不限于上述格式,只要通讯双方预先规定缓存标识的格式即可,通过该特定的缓存标识,可以指定缓存的语法树的过期时间与优先级。当检测到脚本文件携带有缓存标识时,则执行步骤S207,当检测到脚本文件没有携带缓存标识时,则执行步骤S211。 步骤S207 :判断本端的语法树缓存区是否有容量存储下载的脚本文件对应的语法树; 具体地,当判断结果为否时,则执行步骤S208,当判断结果为是时,则执行步骤S209。 步骤S208 :根据语法树缓存区中脚本文件对应的语法树的优先级信息删除语法树缓存区中脚本文件对应的语法树; 具体地,当步骤S207中判断出本端的语法树缓存区没有容量存储下载的脚本文
件对应的语法树时,终端可以根据语法树缓存区中脚本文件对应的语法树的优先级信息删
除语法树缓存区中脚本文件对应的语法树,如可以按照优先级的高低,删除优先级最低的
语法树,为下载的语法树释放存储空间。
步骤S209 :缓存下载的脚本文件对应的语法树; 具体地,将下载的脚本文件解析出的语法树存储在本端的语法树缓存区中,然后执行步骤S211。
步骤S210 :将本端的语法树缓存区中所述语法树添加到初始化的网页脚本语法树中; 步骤S211 :判断所有脚本文件是否处理完毕; 具体地,判断网页引用的多个脚本文件是否都处理完毕,当判断结果为否时,则执行步骤S202,当判断结果为是时,则执行步骤S212。需要说明的是,判断脚本文件是否处理完毕的步骤也可以在步骤S201与步骤S202之间。
步骤S212 :根据网页脚本语法树运行脚本,展现网页。 上述详细说明了本发明的脚本处理的方法,下面对应地,详细说明本发明的脚本处理装置的结构。 图3示出了本实施例的脚本处理装置的结构,脚本处理装置3包括初始化模块31、获取模块32、语法树缓存区33、检测模块34、下载模块35以及第一添加模块36,其中
初始化模块31用于初始化网页脚本语法树; 获取模块32用于获取网页中引用的脚本文件信息;具体地,终端在展现网页的过程中,必须通过脚本处理装置3对脚本文件进行处理,终端首先下载网页文件,并解析该网页文件,以初始化网页脚本语法树,获取模块32获取述脚本文件信息包括脚本文件的名称、脚本文件的URL、脚本文件的数量等信息。 语法树缓存区33用于存储脚本文件对应的语法树;具体地,语法树缓存区33存储有一些之前展现的网页引用过的脚本文件对应的语法树。 检测模块34用于检测语法树缓存区33中是否存储有所述脚本文件对应的语法树; 下载模块35用于当检测模块34检测的结果为否时,从网络侧下载所述脚本文件;具体地,当检测模块34检测到语法树缓存区33存储的脚本文件对应的语法树没有当前需要引用的脚本文件对应的语法树时,则触发下载模块35根据脚本文件的URL下载所述脚本文件。 第一添加模块36用于当检测模块34检测的结果为是时,将语法树缓存区33中所述语法树添加到初始化模块31初始化的网页脚本语法树中。 需要说明的是,下载模块35下载完所述脚本文件后,还进一步地解析从网络侧下载的脚本文件,生成语法树,并将生成的语法树添加到初始化模块31初始化的网页脚本语法树中,当脚本处理装置3完成所有引用的语法树添加到初始化的网页脚本语法树后,终端根据该脚本语法树即可运行脚本,展现网页。 下面结合图4示出的本发明的脚本处理装置的另一实施例的结构示意图,进一步详细说明本发明的脚本处理装置的结构,脚本处理装置3包括上述的初始化模块31、获取模块32、语法树缓存区33、检测模块34、下载模块35以及第一添加模块36夕卜,还包括判断模块37、缓存检测处理模块38、解析模块39和第二添加模块310,其中
判断模块37用于判断语法树缓存区33中所述语法树是否有效,判断模块37还包括有效期判断单元371和更新判断单元372,有效期判断单元371用于判断语法树缓存区33中所述语法树是否在有效期内;更新判断单元372用于判断所述语法树在网络侧是否存在更新版本。具体地,检测模块34检测到语法树缓存区33中存储有所述脚本文件对应的语法树后,有效期判断单元371判断语法树缓存区33中所述语法树是否在有效期内,当判断所述语法树不在有效期内时,则触发下载模块35从网络侧下载所述脚本文件,当判 断所述语法树在有效期内时,更新判断单元372判断所述语法树在网络侧是否存在更新版 本,当判断所述语法树在网络侧存在更新版本时,则触发下载模块35从网络侧下载所述脚 本文件,当判断所述语法树在网络侧不存在更新版本时,则触发第一添加模块36将所述语 法树缓存区中所述语法树添加到初始化模块31初始化的网页脚本语法树中。
缓存检测处理模块38用于检测下载模块35下载的脚本文件是否携带有预设的缓 存标识,缓存检测处理模块38还包括容量判断单元381和删除单元382,容量判断单元381 用于判断语法树缓存区33是否有容量存储下载的脚本文件对应的语法树;删除单元382用 于根据语法树缓存区33中脚本文件对应的语法树的优先级信息删除所述语法树缓存区中 脚本文件对应的语法树,缓存下载的脚本文件对应的语法树。具体地,下载模块35从网络 侧下载所述脚本文件后,缓存检测处理模块38检测下载模块35下载的脚本文件是否携带 有预设的缓存标识,当检测到脚本文件携带没有缓存标识时,结束对该脚本文件的处理,当 检测到脚本文件携带有缓存标识时,容量判断单元381判断语法树缓存区33是否有容量存 储该脚本文件对应的语法树,当判断出语法树缓存区33有容量存储该语法树时,缓存到语 法树缓存区33,当判断出语法树缓存区33没有容量存储下载的脚本文件对应的语法树时, 删除单元382根据语法树缓存区33中脚本文件对应的语法树的优先级信息删除所述语法 树缓存区中脚本文件对应的语法树,如可以按照优先级的高低,删除优先级最低的语法树, 为需要存储的下载的语法树释放存储空间,然后存储下载的脚本文件对应的语法树。
解析模块39用于解析下载模块35从网络侧下载所述脚本文件,生成语法树;
第二添加模块310用于将解析模块39解析生成的语法树添加到初始化的网页脚 本语法树中。 需要说明的是,服务端制作脚本文件时可以预先在脚本文件的头部插入缓存标 识,如〈! 一cache = true validityPeriod = 1000priority = 100〃__>,该缓存标识表 示该脚本文件可以被缓存,有效期为1000秒,优先级为100。本实施例的缓存标识并不限于 上述格式,只要通讯双方预先规定缓存标识的格式即可,通过该特定的缓存标识,可以指定 缓存的语法树的过期时间与优先级。 还需要说明的是,脚本处理装置3往往需要处理多个引用的脚本文件才能展现网 页,当脚本处理装置3完成所有引用的脚本文件的语法树添加到初始化的网页脚本语法树 后,终端即可根据该脚本语法树即可运行脚本,展现网页。本发明还公开了一种嵌入式浏览 器,该嵌入式浏览器包括上述实施例中的脚本处理装置3,即,脚本处理装置3置于可以下 载浏览网页的电子终端中,如数字电视接收终端、手机、个人数码助理等电子终端的浏览器 中,以完成对脚本文件的处理。 综上所述,通过检测语法树缓存区的语法树,从语法树缓存区中添加有效的语法 树,实现了当网页直接引用语法树缓存区中可用的语法树,避免了重复下载解析脚本的问 题,提高了数字电视接收终端等电子终端的性能,当网页需要展现比较丰富的内容而引用 比较大的脚本文件时,通过直接引用语法树缓存区中可用的语法树可以减少下载和解析脚 本的时间,提高了网页展现的速度,给用户带来更好的体验。 本发明的数字电视接收终端包括但不限于机顶盒、数字电视一体机、网络协议电 视(Internet Protocol Television, IPTV)等具有接收数字电视功能的终端。
9
需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解 到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。 基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品 的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包 括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行 本发明各个实施例或者实施例的某些部分所述的方法。 以上所揭露的仅为本发明实施例中的较佳实施例而已,当然不能以此来限定本发 明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
10
权利要求
一种脚本处理的方法,其特征在于,包括下载网页文件,初始化网页脚本语法树,并获取网页中引用的脚本文件信息;检测本端的语法树缓存区中是否存储有所述脚本文件对应的语法树;当所述检测的结果为否时,则从网络侧下载所述脚本文件,当所述检测的结果为是时,则将本端的语法树缓存区中所述语法树添加到初始化的网页脚本语法树中。
2. 如权利要求1所述的方法,其特征在于,当所述检测的结果为是之后,还包括 判断存储的所述语法树是否有效;当所述判断的结果为否时,则从网络侧下载所述脚本文件,当所述判断的结果为是时, 则执行将本端的语法树缓存区中所述语法树添加到初始化的网页脚本语法树中的步骤。
3. 如权利要求2所述的方法,其特征在于,所述判断存储的所述语法树是否有效的步 骤包括判断存储的所述语法树是否在有效期内;当所述判断的结果为否时,则从网络侧下载所述脚本文件,当所述判断的结果为是时, 则判断所述语法树在网络侧是否存在更新版本;当判断出所述语法树在网络侧存在更新版本时,则从网络侧下载所述脚本文件,当判 断出所述语法树在网络侧不存在更新版本时,则执行将本端的语法树缓存区中所述语法树 添加到初始化的网页脚本语法树中的步骤。
4. 如权利要求3所述的方法,其特征在于,所述从网络侧下载所述脚本文件的步骤之 后还包括解析从网络侧下载的脚本文件,生成语法树; 将生成的语法树添加到初始化的网页脚本语法树。
5. 如权利要求l-4任一项所述的方法,其特征在于,所述从网络侧下载所述脚本文件 的步骤之后还包括检测所述脚本文件是否携带有预设的缓存标识;当所述检测的结果为是时,则缓存所述脚本文件对应的语法树,当所述检测的结果为 否时,则结束流程。
6. 如权利要求5所述的方法,其特征在于,所述缓存所述脚本文件对应的语法树的步 骤包括判断本端的语法树缓存区是否有容量存储下载的脚本文件对应的语法树; 当所述判断的结果为是时,则缓存下载的脚本文件对应的语法树,当所述判断的结果为否时,则根据语法树缓存区中脚本文件对应的语法树的优先级信息删除语法树缓存区中脚本文件对应的语法树,缓存下载的脚本文件对应的语法树。
7. —种脚本处理装置,其特征在于,包括 初始化模块,用于初始化网页脚本语法树; 获取模块,用于获取网页中引用的脚本文件信息; 语法树缓存区,用于存储脚本文件对应的语法树;检测模块,用于检测所述语法树缓存区中是否存储有所述脚本文件对应的语法树; 下载模块,用于当所述检测模块的检测结果为否时,从网络侧下载所述脚本文件; 第一添加模块,用于当所述检测模块的检测结果为是时,将所述语法树缓存区中所述语法树添加到初始化的网页脚本语法树中。
8. 如权利要求7所述脚本处理装置,其特征在于,还包括判断模块,用于判断所述语法树缓存区中所述语法树是否有效,当判断的结果为否时, 则触发所述下载模块从网络侧下载所述脚本文件,当判断的结果为是时,则触发所述第一 添加模块将所述语法树缓存区中所述语法树添加到初始化的网页脚本语法树中。
9. 如权利要求8所述脚本处理装置,其特征在于,所述判断模块包括 有效期判断单元,用于判断所述语法树缓存区中所述语法树是否在有效期内,当判断的结果为否时,则触发所述下载模块从网络侧下载所述脚本文件,当所述判断的结果为是 时,触发更新判断单元进行判断;更新判断单元,用于判断所述语法树在网络侧是否存在更新版本,当判断出所述语法 树在网络侧存在更新版本时,则触发所述下载模块从网络侧下载所述脚本文件,当判断出 所述语法树在网络侧不存在更新版本时,则触发所述第一添加模块将所述语法树缓存区中 所述语法树添加到初始化的网页脚本语法树中。
10. 如权利要求9所述脚本处理装置,其特征在于,还包括解析模块,用于解析所述下载模块从网络侧下载所述脚本文件,生成语法树; 第二添加模块,用于将所述解析模块解析生成的语法树添加到初始化的网页脚本语法 树中。
11. 如权利要求7-10任一项所述脚本处理装置,其特征在于,还包括 缓存检测处理模块,用于检测所述下载模块下载的脚本文件是否携带有预设的缓存标识,当所述检测的结果为是时,则将下载的脚本文件对应的语法树缓存到所述语法树缓存 区,当所述检测的结果为否时,结束流程。
12. 如权利要求11所述脚本处理装置,其特征在于,所述缓存检测处理模块包括 容量判断单元,用于判断所述语法树缓存区是否有容量存储下载的脚本文件对应的语法树,当所述判断的结果为是时,则将下载的脚本文件对应的语法树缓存到所述语法树缓 存区,当所述判断的结果为否时,则触发删除单元进行删除;删除单元,用于根据所述语法树缓存区中脚本文件对应的语法树的优先级信息删除所 述语法树缓存区中脚本文件对应的语法树,缓存下载的脚本文件对应的语法树。
13. —种嵌入式浏览器,其特征在于,包括权利要求7-10任一项所述脚本处理装置。
全文摘要
本发明实施例公开了脚本处理的方法,包括下载网页文件,初始化网页脚本语法树,并获取网页中引用的脚本文件信息;检测本端的语法树缓存区中是否存储有脚本文件对应的语法树;当检测的结果为否时,则从网络侧下载脚本文件,当检测的结果为是时,则将本端的语法树缓存区中所述语法树添加到初始化的网页脚本语法树中。相应地,本发明实施例还公开了一种脚本处理装置和嵌入式浏览器,实施本发明实施例,通过检测语法树缓存区的语法树,从语法树缓存区中直接添加有效的语法树,实现了展开网页时直接引用语法树缓存区中可用的语法树,避免了重复下载解析脚本的问题,提高了数字电视接收终端的性能,提高了网页展现的速度,给用户带来更好的体验。
文档编号H04N7/173GK101770502SQ20091023893
公开日2010年7月7日 申请日期2009年12月30日 优先权日2009年12月30日
发明者王麟 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1