一种修复浏览器内核的方法和装置转让专利

申请号 : CN201410359874.6

文献号 : CN105302654B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尚子峰

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种修复浏览器内核的方法和装置,属于互联网技术领域。所述方法包括:获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息;将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比;如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表。采用本发明,在组件注册错误的情况下,可以使浏览器内核能够恢复正常工作。

权利要求 :

1.一种修复浏览器内核的方法,其特征在于,应用于终端上安装的用于实现浏览器内核检测修复功能的浏览器客户端,所述方法包括:当检测到需要开启网页时,在发送网页请求之前获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,每个组件对应的基准注册信息包括:每个组件的classid和interfaceid,所述classid和interfaceid是网页渲染过程中,浏览器调用并加载相应组件时,在组件动态库中查找相应组件所需的索引信息,所述浏览器客户端和所述目标浏览器内核相互独立;

将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比;

如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表。

2.根据权利要求1所述的方法,其特征在于,所述获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息之前,还包括:在所述目标浏览器内核的安装文件中,获取每个组件对应的manifest文件;

分别在所述每个组件对应的manifest文件中,提取每个组件对应的注册信息,作为每个组件的基准注册信息进行存储。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:基于所述每个组件的基准注册信息,生成注册表脚本文件;

所述获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,包括:在所述注册表脚本文件中,获取所述每个组件的基准注册信息;

所述如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表,包括:如果所述当前注册信息与所述基准注册信息不匹配,则将所述注册表脚本文件导入所述注册表。

4.根据权利要求3所述的方法,其特征在于,所述在所述注册表脚本文件中,获取所述每个组件的基准注册信息,包括:在所述注册表脚本文件中,获取所述每个组件的class id和interface id;

所述将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比,包括:将获取的所述每个组件的class id、interface id与本地的注册表中记录的所述每个组件的class id、interface id进行对比;

所述如果所述当前注册信息与所述基准注册信息不匹配,则将所述注册表脚本文件导入所述注册表,包括:如果获取的所述每个组件的class id、interface id与本地的注册表中记录的所述每个组件的class id、interface id不匹配,则将所述注册表脚本文件导入所述注册表。

5.根据权利要求1所述的方法,其特征在于,所述获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,包括:获取本地安装的目标浏览器内核的第一版本信息;

根据预先存储的版本信息与组件的基准注册信息的对应关系,确定所述第一版本信息对应的组件的基准注册信息;在所述对应关系中,组件的基准注册信息提取自对应的版本信息的目标浏览器内核的安装文件。

6.一种修复浏览器内核的装置,其特征在于,应用于终端上安装的用于实现浏览器内核检测修复功能的浏览器客户端,所述装置包括:获取模块,用于当检测到需要开启网页时,在发送网页请求之前获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,每个组件对应的基准注册信息包括:每个组件的class id和interface id,所述class id和interface id是网页渲染过程中,浏览器调用并加载相应组件时,在组件动态库中查找相应组件所需的索引信息,所述浏览器客户端和所述目标浏览器内核相互独立;

检测模块,用于将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比;

处理模块,用于如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表。

7.根据权利要求6所述的装置,其特征在于,还包括存储模块,用于:

在所述获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息之前,在所述目标浏览器内核的安装文件中,获取每个组件对应的manifest文件;

分别在所述每个组件对应的manifest文件中,提取每个组件对应的注册信息,作为每个组件的基准注册信息进行存储。

8.根据权利要求7所述的装置,其特征在于,所述存储模块,还用于:基于所述每个组件的基准注册信息,生成注册表脚本文件;

所述获取模块,用于:在所述注册表脚本文件中,获取所述每个组件的基准注册信息;

所述处理模块,用于:如果所述当前注册信息与所述基准注册信息不匹配,则将所述注册表脚本文件导入所述注册表。

9.根据权利要求8所述的装置,其特征在于,所述获取模块,用于:在所述注册表脚本文件中,获取所述每个组件的class id和interface id;

所述检测模块,用于:将获取的所述每个组件的class id、interface id与本地的注册表中记录的所述每个组件的class id、interface id进行对比;

所述处理模块,用于:如果获取的所述每个组件的class id、interface id与本地的注册表中记录的所述每个组件的class id、interface id不匹配,则将所述注册表脚本文件导入所述注册表。

10.根据权利要求6所述的装置,其特征在于,所述获取模块,用于:

获取本地安装的目标浏览器内核的第一版本信息;

根据预先存储的版本信息与组件的基准注册信息的对应关系,确定所述第一版本信息对应的组件的基准注册信息;在所述对应关系中,组件的基准注册信息提取自对应的版本信息的目标浏览器内核的安装文件。

说明书 :

一种修复浏览器内核的方法和装置

技术领域

[0001] 本发明涉及互联网技术领域,特别涉及一种修复浏览器内核的方法和装置。

背景技术

[0002] 随着网络技术的飞速发展,互联网已经成为了人们日常生活、工作、学习中非常重要的组成部分,浏览器是人们访问互联网最常用的工具之一。浏览器中设置有渲染引擎(或称浏览器内核),如MSHTML(IE的浏览器内核)、Gecko(火狐的浏览器内核)、Webkit(一种开源的浏览器内核)等,渲染引擎负责解析并执行网页代码,进而渲染并展示网页。
[0003] 浏览器内核一般由大量的组件组成,每个组件负责浏览器内核的一部分功能。在安装浏览器内核时,会进行组件的注册过程,将每个组件的注册信息写入到系统的注册表中。在进行网页加载时,可以根据注册表中记录的组件的注册信息,调用所需的组件以完成网页的渲染。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 在组件的注册过程中,由于种种原因,经常会出现注册错误的情况,这将导致很多网页无法正常显示,浏览器内核无法正常工作。

发明内容

[0006] 为了解决现有技术的问题,本发明实施例提供了一种修复浏览器内核的方法和装置。所述技术方案如下:
[0007] 一方面,提供了一种修复浏览器内核的方法,所述方法包括:
[0008] 获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息;
[0009] 将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比;
[0010] 如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表。
[0011] 另一方面,提供了一种修复浏览器内核的装置,所述装置包括:
[0012] 获取模块,用于获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息;
[0013] 检测模块,用于将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比;
[0014] 处理模块,用于如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表。
[0015] 本发明实施例提供的技术方案带来的有益效果是:
[0016] 本发明实施例中,获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,将此组件的基准注册信息与本地的注册表中记录的此组件的当前注册信息进行对比,如果当前注册信息与基准注册信息不匹配,则将此组件的基准注册信息导入注册表,这样,可以针对组件注册错误的情况,对注册表中错误的注册信息进行修正,从而,使浏览器内核能够正常工作。

附图说明

[0017] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1是本发明实施例提供的修复浏览器内核的方法流程图;
[0019] 图2是本发明实施例提供的各组件的manifest文件的示意图;
[0020] 图3是本发明实施例提供的修复浏览器内核的装置结构示意图;
[0021] 图4是本发明实施例提供的终端的结构示意图。

具体实施方式

[0022] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0023] 实施例一
[0024] 本发明实施例提供了一种修复浏览器内核的方法,如图1所示,该方法的处理流程可以包括如下步骤:
[0025] 步骤101,获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息。
[0026] 步骤102,将此组件的基准注册信息与本地的注册表中记录的此组件的当前注册信息进行对比。
[0027] 步骤103,如果当前注册信息与基准注册信息不匹配,则将此组件的基准注册信息导入注册表。
[0028] 本发明实施例中,获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,将此组件的基准注册信息与本地的注册表中记录的此组件的当前注册信息进行对比,如果当前注册信息与基准注册信息不匹配,则将此组件的基准注册信息导入注册表,这样,可以针对组件注册错误的情况,对注册表中错误的注册信息进行修正,从而,使浏览器内核能够正常工作。
[0029] 实施例二
[0030] 本发明实施例提供了一种修复浏览器内核的方法,该方法的执行主体可以为终端,如手机、平板电脑、台式计算机等。
[0031] 本发明实施例中,组件的基准注册信息可以提取自某浏览器内核的安装文件,在浏览器内核的安装文件中提取组件基准注册信息的处理方式可以多种多样,以下给出了一种可行的处理方式:
[0032] 步骤一,在目标浏览器内核的安装文件中,获取每个组件对应的manifest文件。
[0033] 其中,目标浏览器内核是需要检测故障的浏览器内核,可以是任意浏览器内核,如IE(Internet Explorer,因特网浏览器)的浏览器内核,简称IE内核。安装文件是目标浏览器内核安装包中的文件。manifest文件是以“.manifest”为后缀的XML(Extensible Markup Language,可扩展标记语言)文件,每个组件都对应有一个manifest文件,其中记录描述组件的详细信息,可以包括在安装包中的存放地址、class id(类标识)、interface id(接口标识)等。
[0034] 步骤二,分别在每个组件对应的manifest文件中,提取每个组件对应的注册信息,作为每个组件的基准注册信息进行存储。
[0035] 其中,注册信息是在组件的注册过程中需要写入注册表中的信息,每个组件对应的注册信息,包括每个组件的class id、interface id等。
[0036] 在实施中,对于上述步骤一、步骤二,在获取目标浏览器内核的安装包以后,可以对安装包进行解压,然后在相应的文件夹中获取所有组件的manifest文件,文件夹中各组件的manifest文件可以如图2所示。进而,可以在每个组件的manifest文件中提取相应组件的class id、interface id,以及class id、interface id对应的注册表路径,作为组件的基准注册信息进行存储。该处理过程可以由技术人员通过相应的信息提取工具完成,当然也可以在用户侧由浏览器客户端(如QQ浏览器、搜狗浏览器等,很多浏览器客户端可以独立于浏览器内核存在)中的工具完成。
[0037] 在步骤二之后,还可以进行如下的处理:步骤三,基于每个组件的基准注册信息,生成注册表脚本文件。
[0038] 其中,注册表脚本文件可以是用于对注册表进行信息导入的文件,如reg(一种文件扩展名)文件。
[0039] 在实施中,在确定每个组件的基准注册信息后,可以基于所有组件的class id、interface id以及对应的注册表路径生成reg文件,然后将reg文件存储在设置了浏览器内核检测修复功能的浏览器客户端中,可以在后续检测和修复的过程中使用。
[0040] 某些浏览器内核可能存在多个版本,如IE7.0的浏览器内核、IE8.0的浏览器内核等,不同版本的浏览器内核中所包含的组件可能不同,所以,对于不同版本的浏览器内核,可以分别通过上面的处理流程,确定在任一版本下每个组件的基准注册信息,还可以生成每个版本信息对应的reg文件。
[0041] 下面将结合具体的处理方式,对图1所示的流程进行详细的说明,内容可以如下:
[0042] 步骤101,获取预先存储的从目标浏览器内核的安装文件中提取的至少一个组件的基准注册信息。
[0043] 可选的,对于上述生成注册表脚本文件的情况,该步骤的处理可以是:在注册表脚本文件中,获取每个组件的基准注册信息。
[0044] 在实施中,终端上可以安装有设置了浏览器内核检测修复功能的浏览器客户端,如QQ浏览器或搜狗浏览器等,浏览器客户端可以独立于浏览器内核存在。用户通过该浏览器客户端开启某网页时,则会触发浏览器客户端在发送网页请求之前,对终端本地的浏览器内核进行检测,浏览器客户端可以从上述存储的注册表脚本文件中读取所有组件的基准注册信息。具体可以在注册表脚本文件中,读取每个组件的class id和interface id。
[0045] 可选的,对于目标浏览器内核存在多个版本的情况,可以根据本地目标浏览器内核的版本信息,获取对应的基准注册信息,相应的,步骤101的处理过程可以如下:
[0046] 获取本地安装的目标浏览器内核的第一版本信息;根据预先存储的版本信息与组件的基准注册信息的对应关系,确定第一版本信息对应的至少一个组件的基准注册信息;在对应关系中,组件的基准注册信息提取自对应的版本信息的目标浏览器内核的安装文件。
[0047] 在实施中,对应目标浏览器内核的每个版本可以分别通过上面提到的方式生成reg文件,例如,1.0版本对应的1.reg,2.0版本对应的2.reg,3.0版本对应的3.reg,等等,再存储版本信息与reg文件的对应关系。当用户通过浏览器客户端开启某网页时,可以先确定目标浏览器内核(如IE内核)的版本信息(即第一版本信息),然后根据上述对应关系查找该版本信息对应的reg文件,然后读取reg文件中的class id和interface id。
[0048] 步骤102,将此至少一个组件的基准注册信息与本地的注册表中记录的此至少一个组件的当前注册信息进行对比。
[0049] 在实施中,可以将目标浏览器内核的所有组件的基准注册信息与本地注册表中记录的目标浏览器内核的所有组件的当前注册信息进行对比,以判断两者是否匹配,如果注册表中缺少某组件的注册信息或某组件的注册信息与相应的基准注册信息不同,则判定当前注册信息与基准注册信息不匹配,否则判定匹配。
[0050] 可选的,对于上述使用注册表脚本文件的情况,该步骤的处理可以是:将获取的每个组件的class id、interface id与本地的注册表中记录的此每个组件的class id、interface id进行对比。
[0051] 在实施中,可以遍历reg文件中的每条信息,当读取一条信息,信息中的注册表路径包含Software\Classes\Interface(对应某组件的interface id)或Software\Classes\CLSID(对应某组件的class id),则根据该注册表路径在本地的注册表中获取相应的interface id或class id,与该条信息中的interface id或class id进行对比,如果注册表中该注册表路径下的注册信息缺失,或者对比结果为不相同,则可以判定当前注册信息与基准注册信息不匹配,否则判定匹配。
[0052] 步骤103,如果当前注册信息与基准注册信息不匹配,则将此至少一个组件的基准注册信息导入注册表。
[0053] 在实施中,当前注册信息与基准注册信息不匹配,则说明在组件注册过程中,将目标浏览器内核的各组件的注册信息写入注册表时,存在注册信息写入错误或未完成写入,这时,可以将预先存储的基准注册信息导入注册表,从而可以修正错误的注册信息。可选的,将此至少一个组件的基准注册信息导入注册表的处理可以是:显示修复注册信息的选择窗口,其中可以包括修复和忽略的选项,当接收到用户点击修复选项触发的修复指令时,将相应的组件的基准注册信息导入注册表,当接收到用户点击忽略选项触发的忽略指令时,可以不进行处理,保持注册表现有的内容不变。
[0054] 可选的,对于上述使用注册表脚本文件的情况,该步骤的处理可以是:如果当前注册信息与基准注册信息不匹配,则将注册表脚本文件导入所述注册表。
[0055] 进一步的,该步骤的处理可以是:如果在注册表脚本文件中获取的每个组件的class id、interface id与本地的注册表中记录的此每个组件的class id、interface id不匹配,则将注册表脚本文件导入注册表。
[0056] 在实施中,interface id和class id是网页渲染过程中,浏览器内核调用并加载组件时,在组件动态库中查找组件所需的索引信息,如果出现错误,则无法加载相应的组件,进而无法完成网页渲染,所以,可以在网页渲染之前,对目标浏览器内核中每个组件的interface id和class id进行匹配检测,如果发现reg文件中某组件的interface id和class id与注册表中相应组件的interface id和classid不匹配,则可以通过reg文件进行注册表导入,将其中的注册信息导入注册表。
[0057] 另外,如果当前注册信息与基准注册信息匹配(即完全相同),则可以不将组件的基准注册信息导入注册表,保持注册表的内容不变。
[0058] 本发明实施例中,获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,将此组件的基准注册信息与本地的注册表中记录的此组件的当前注册信息进行对比,如果当前注册信息与基准注册信息不匹配,则将此组件的基准注册信息导入注册表,这样,可以针对组件注册错误的情况,对注册表中错误的注册信息进行修正,从而,使浏览器内核能够正常工作。
[0059] 实施例三
[0060] 基于相同的技术构思,本发明实施例还提供了一种修复浏览器内核的装置,如图3所示,所述装置包括:
[0061] 获取模块310,用于获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息;
[0062] 检测模块320,用于将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比;
[0063] 处理模块330,用于如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表。
[0064] 可选的,还包括存储模块,用于:
[0065] 在所述获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息之前,在所述目标浏览器内核的安装文件中,获取每个组件对应的manifest文件;
[0066] 分别在所述每个组件对应的manifest文件中,提取每个组件对应的注册信息,作为每个组件的基准注册信息进行存储。
[0067] 可选的,所述存储模块,还用于:基于所述每个组件的基准注册信息,生成注册表脚本文件;
[0068] 所述获取模块310,用于:在所述注册表脚本文件中,获取所述每个组件的基准注册信息;
[0069] 所述处理模块330,用于:如果所述当前注册信息与所述基准注册信息不匹配,则将所述注册表脚本文件导入所述注册表。
[0070] 可选的,所述每个组件对应的注册信息,包括:所述每个组件的class id、interface id;
[0071] 所述获取模块310,用于:在所述注册表脚本文件中,获取所述每个组件的class id和interface id;
[0072] 所述检测模块320,用于:将获取的所述每个组件的class id、interface id与本地的注册表中记录的所述每个组件的class id、interface id进行对比;
[0073] 所述处理模块330,用于:如果获取的所述每个组件的class id、interface id与本地的注册表中记录的所述每个组件的class id、interface id不匹配,则将所述注册表脚本文件导入所述注册表。
[0074] 可选的,所述获取模块310,用于:
[0075] 获取本地安装的目标浏览器内核的第一版本信息;
[0076] 根据预先存储的版本信息与组件的基准注册信息的对应关系,确定所述第一版本信息对应的组件的基准注册信息;在所述对应关系中,组件的基准注册信息提取自对应的版本信息的目标浏览器内核的安装文件。
[0077] 本发明实施例中,获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,将此组件的基准注册信息与本地的注册表中记录的此组件的当前注册信息进行对比,如果当前注册信息与基准注册信息不匹配,则将此组件的基准注册信息导入注册表,这样,可以针对组件注册错误的情况,对注册表中错误的注册信息进行修正,从而,使浏览器内核能够正常工作。
[0078] 需要说明的是:上述实施例提供的修复浏览器内核的装置在修复浏览器内核时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的修复浏览器内核的装置与修复浏览器内核的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0079] 实施例四
[0080] 请参考图4,其示出了本发明实施例所涉及的具有触敏表面的终端结构示意图,用于实施上述实施例中提供的方法。具体来讲:
[0081] 终端900可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wireless fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0082] RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
[0083] 存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器
120的访问。
[0084] 输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0085] 显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板
141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
[0086] 终端900还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0087] 音频电路160、扬声器161,传声器162可提供用户与终端900之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端900的通信。
[0088] WiFi属于短距离无线传输技术,终端900通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块170,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0089] 处理器180是终端900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
[0090] 终端900还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0091] 尽管未示出,终端900还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端900的显示单元是触摸屏显示器,终端900还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:
[0092] 获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息;
[0093] 将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比;
[0094] 如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表。
[0095] 可选的,所述获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息之前,还包括:
[0096] 在所述目标浏览器内核的安装文件中,获取每个组件对应的manifest文件;
[0097] 分别在所述每个组件对应的manifest文件中,提取每个组件对应的注册信息,作为每个组件的基准注册信息进行存储。
[0098] 可选的,所述方法还包括:基于所述每个组件的基准注册信息,生成注册表脚本文件;
[0099] 所述获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,包括:在所述注册表脚本文件中,获取所述每个组件的基准注册信息;
[0100] 所述如果所述当前注册信息与所述基准注册信息不匹配,则将所述组件的基准注册信息导入所述注册表,包括:如果所述当前注册信息与所述基准注册信息不匹配,则将所述注册表脚本文件导入所述注册表。
[0101] 可选的,所述每个组件对应的注册信息,包括:所述每个组件的class id、interface id;
[0102] 所述在所述注册表脚本文件中,获取所述每个组件的基准注册信息,包括:在所述注册表脚本文件中,获取所述每个组件的class id和interface id;
[0103] 所述将所述组件的基准注册信息与本地的注册表中记录的所述组件的当前注册信息进行对比,包括:将获取的所述每个组件的class id、interface id与本地的注册表中记录的所述每个组件的class id、interface id进行对比;
[0104] 所述如果所述当前注册信息与所述基准注册信息不匹配,则将所述注册表脚本文件导入所述注册表,包括:如果获取的所述每个组件的class id、interface id与本地的注册表中记录的所述每个组件的class id、interface id不匹配,则将所述注册表脚本文件导入所述注册表。
[0105] 可选的,所述获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,包括:
[0106] 获取本地安装的目标浏览器内核的第一版本信息;
[0107] 根据预先存储的版本信息与组件的基准注册信息的对应关系,确定所述第一版本信息对应的组件的基准注册信息;在所述对应关系中,组件的基准注册信息提取自对应的版本信息的目标浏览器内核的安装文件。
[0108] 本发明实施例中,获取预先存储的从目标浏览器内核的安装文件中提取的组件的基准注册信息,将此组件的基准注册信息与本地的注册表中记录的此组件的当前注册信息进行对比,如果当前注册信息与基准注册信息不匹配,则将此组件的基准注册信息导入注册表,这样,可以针对组件注册错误的情况,对注册表中错误的注册信息进行修正,从而,使浏览器内核能够正常工作。
[0109] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0110] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0111] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。