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

文档序号:9547036阅读:442来源:国知局
一种修复浏览器内核的方法和装置的制造方法
【技术领域】
[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]其中,目标浏览器内核是需要检测故障的浏览器内核,可以是任意浏览器内核,如IEdnternet Explorer,因特网浏览器)的浏览器内核,简称IE内核。安装文件是目标浏览器内核安装包中的文件。manifest文件是以manifest”为后缀的XML (ExtensibleMarkup Language,可扩展标记语言)文件,每个组件都对应有一个manifest文件,其中记录描述组件的详细信息,可以包括在安装包中的存放地址、class id(类标识)、interfaceid(接口标识)等。
[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浏览器或搜狗浏览器等,浏览器客户端可以独立于浏览器内核存在。用户通过该浏览器客户端开启某网页时,则会触发浏览器客户端在发送网页请求之前,对终端本地的浏览器内核进行检测,浏览器客户端可以从上述存储的注册表脚本文件中读取所有组件的基准注册信息。具体可以在注册表脚本文件中,读取每个组件的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1