在浏览器中实现扩展应用的方法及浏览器的制造方法

文档序号:6487903阅读:189来源:国知局
在浏览器中实现扩展应用的方法及浏览器的制造方法
【专利摘要】本发明的实施例提供一种在浏览器中实现扩展应用的方法及浏览器,涉及计算机应用【技术领域】,可以在一种浏览器中实现兼容其他不同种类浏览器的扩展应用。所述方法包括:在适配器模式下,所述第一浏览器接收第二浏览器的扩展应用对第二浏览器应用程序接口API的调用;所述第一浏览器将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用;在第一浏览器中,所述第二浏览器的扩展应用通过所述转换后的对第一浏览器API的调用,执行所述第二浏览器的扩展应用的功能。本发明实施例主要应用于浏览器实现对扩展应用支持的过程中。
【专利说明】在浏览器中实现扩展应用的方法及浏览器
【技术领域】
[0001]本发明涉及计算机应用【技术领域】,尤其涉及一种在浏览器中实现扩展应用功能的浏览器。
【背景技术】
[0002]目前,支持扩展应用的浏览器通过安装并加载扩展应用,可以为浏览器增加新的功能。该扩展应用为一系列文件的集合,通过浏览器进行加载时,可以在浏览器中添加该扩展应用自身的界面元素,例如,按钮、菜单等,并在用户操作这些界面元素时做出响应,以实现相应的功能。例如,chrome浏览器支持一种鼠标手势扩展应用,在chrome浏览器加载该扩展应用后,用户可以通过使用鼠标在页面区域绘制特定线条,来实现控制页面的前进、后退或关闭页面等功能。
[0003]上述扩展应用可以利用浏览器提供的扩展应用编写规范进行开发得到。本文中将利用一个浏览器的扩展应用编写规范编写得到的扩展应用称之为该浏览器的扩展应用。通常,不同的浏览器提供的扩展应用编写规范不相同,因而,一种浏览器的扩展应用可以应用于该浏览器中,通常无法应用到其他种类的浏览器中。例如,chrome浏览器的扩展应用可以应用在chrome浏览器中,却无法应用到firefox浏览器中。
[0004]可见,现有技术中,一种浏览器无法兼容其他不同种类浏览器的扩展应用。

【发明内容】

[0005]本发明的实施例提供一种在浏览器中实现扩展应用的方法及浏览器,可以在一种浏览器中实现兼容其他不同种类浏览器的扩展应用。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]—方面,提供一种在浏览器中实现扩展应用的方法,该方法用于在第一浏览器中实现第二浏览器的扩展应用对API的调用。
[0008]其中,第一浏览器上安装有第二浏览器的扩展应用,并设有适配器模式,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述方法包括:
[0009]在适配器模式下,所述第一浏览器接收第二浏览器的扩展应用对第二浏览器应用程序接口 API的调用;
[0010]所述第一浏览器将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用;
[0011]在第一浏览器中,所述第二浏览器的扩展应用通过所述转换后的对第一浏览器API的调用,执行所述第二浏览器的扩展应用的功能。
[0012]一方面,还提供一种在浏览器中实现扩展应用的方法,该方法用于在第一浏览器中实现第二浏览器的扩展应用的界面展示。
[0013]其中,第一浏览器上安装有第二浏览器的扩展应用,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述方法包括:[0014]第一浏览器解析第二浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据;
[0015]将所述第二浏览器的扩展应用的界面描述数据转换为第一浏览器支持的界面描述数据;
[0016]所述第一浏览器将所述转换后的第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,所述第一浏览器的界面描述结构用于描述第一浏览器的界面呈现方式;
[0017]所述第一浏览器读取所述第一浏览器的界面数据结构中的界面描述数据,所述读取出来的界面描述数据包括所述第二浏览器的扩展应用的界面描述数据;
[0018]所述第一浏览器按照所述第二浏览器的扩展应用的界面描述数据在第一浏览器的展示界面中显示所述第二浏览器的扩展应用的展示界面。
[0019]一方面,还提供一种在浏览器中实现扩展应用的方法,该方法用于在第一浏览器中实现对第二浏览器的扩展应用的管理。
[0020]其中,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述方法包括:
[0021]所述第一浏览器解析所述第二浏览器的扩展应用的安装包,得到所述第二浏览器的扩展应用的扩展描述数据;
[0022]所述第一浏览器将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据;
[0023]所述第一浏览器通过所述转换后的扩展描述数据对所述第二浏览器的扩展应用进行管理,所述管理应包括扩展应用的安装、加载、卸载、扩展功能的使用和禁用。
[0024]另一方面,提供一种浏览器,所述浏览器为第一浏览器,安装有第二浏览器的扩展应用,并设有适配器模式,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述第一浏览器包括:
[0025]接收模块,用于在适配器模式下,接收第二浏览器的扩展应用对第二浏览器应用程序接口 API的调用;
[0026]转换模块,用于将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用;
[0027]所述第二浏览器的扩展应用,用于在第一浏览器中通过所述转换后的对第一浏览器API的调用,执行所述第二浏览器的扩展应用的功能。
[0028]另一方面,还提供一种浏览器,所述浏览器为第一浏览器,安装有第二浏览器的扩展应用,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述第一浏览器包括:
[0029]解析模块,用于解析第二浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据;
[0030]转换处理模块,用于将所述第二浏览器的扩展应用的界面描述数据转换为第一浏览器支持的界面描述数据,并将所述转换后的第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,所述第一浏览器的界面描述结构用于描述第一浏览器的界面呈现方式;
[0031]读取模块,用于读取所述第一浏览器的界面数据结构中的界面描述数据,所述读取出来的界面描述数据包括所述第二浏览器的扩展应用的界面描述数据;[0032]显示模块,用于按照所述第二浏览器的扩展应用的界面描述数据在第一浏览器的展示界面中显示所述第二浏览器的扩展应用的展示界面。
[0033]另一方面,又提供一种浏览器,所述浏览器为第一浏览器,所述第一浏览器包括:
[0034]解析模块,用于解析所述第二浏览器的扩展应用的安装包,得到所述第二浏览器的扩展应用的扩展描述数据,所述第一浏览器和第二浏览器为两种不同类型的浏览器;
[0035]转换模块,用于将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据;
[0036]扩展应用管理模块,用于通过所述转换后的扩展描述数据对所述第二浏览器的扩展应用进行管理,所述管理应包括扩展应用的安装、加载、卸载、扩展功能的使用和禁用。
[0037]由上述技术方案所描述的本发明实施例中,通过在适配器模式下,将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用,在第一浏览器中实现了第二浏览器的扩展应用对API的调用;通过解析第二浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据,并将所述第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,在第一浏览器中实现了第二浏览器的扩展应用的界面展示;通过将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据,在第一浏览器中,实现了对第二浏览器的扩展应用的管理(包括但不限于安装、加载、卸载、扩展功能的使用和禁用),亦即在第一浏览器中可以实现对第二浏览器的扩展应用的兼容,其中,第一浏览器和第二浏览器为两种不同类型的浏览器,第二浏览器的扩展应用为采用第二浏览器的扩展应用编写规范开发得到扩展应用。可见,采用上述技术方案可以在一种浏览器中实现兼容其他不同种类浏览器的扩展应用。
【专利附图】

【附图说明】
[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1为本发明实施例1中在浏览器中实现扩展应用的方法的一种示意图;
[0040]图2为本发明实施例1中在浏览器中实现扩展应用的方法的另一种示意图;
[0041]图3为本发明实施例1中在浏览器中实现扩展应用的方法的又一种示意图;
[0042]图4为本发明实施例2提供的浏览器的一种示意图;
[0043]图5为本发明实施例2提供的浏览器的另一种示意图;
[0044]图6为本发明实施例2提供的浏览器的又一种示意图。
【具体实施方式】
[0045]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0046]本实施例中,一种在浏览器中实现扩展应用的方法,具体可以分为三个部分的实现,分别为:
[0047]在第一浏览器中实现第二浏览器的扩展应用对API的调用,以便于实现第二浏览器的扩展应用的功能;
[0048]在第一浏览器中实现第二浏览器的扩展应用的界面展示,以便于在第一浏览器中显示第二浏览器的扩展应用的界面;
[0049]在第一浏览器中实现对第二浏览器的扩展应用的管理,以便于用户在第一浏览器中对第二浏览器的扩展应用进行扩展应用的安装、加载、卸载、扩展功能的使用和禁用等管理操作。
[0050]其中,第一浏览器和第二浏览器为两种不同类型的浏览器,例如,chrome浏览器和firefox浏览器。第二浏览器的扩展应用是指利用第二浏览器的扩展应用编写规范编写得到的扩展应用。本文中凡是与第一浏览器的类型不相同的浏览器均可以称之为第二浏览器,可以理解的是,这里不限定第二浏览器的种类个数。
[0051]下文中以在第一浏览器中实现一种第二浏览器的扩展应用为例进行介绍,亦即在一个浏览器中实现其他一种浏览器的扩展应用。同理,采用本发明实施例的方法,还可以在一个浏览器中实现其他多种浏览器的扩展应用。
[0052]实施例1:
[0053]如图1所示,本发明实施例提供一种在浏览器中实现扩展应用的方法,该方法用于在第一浏览器中实现第二浏览器的扩展应用对API的调用。
[0054]其中,第一浏览器上安装有第二浏览器的扩展应用,并设有适配器模式,所述第一浏览器和第二浏览器为两种不同类型的浏览器,
[0055]本实施例的一种应用场景为:在浏览器启动,并加载所述第二浏览器的扩展应用之后,当用户希望使用所述第二浏览器的扩展应用的某项功能时,如果选中了所述第二浏览器的扩展应用的展示界面中该功能对应的选项,所述第二浏览器的扩展应用需要对第二浏览器应用程序接口 API进行调用来实现相应功能,此时,上述在浏览器中实现扩展应用的方法包括:
[0056]S101、在适配器模式下,所述第一浏览器接收第二浏览器的扩展应用对第二浏览器应用程序接口 API的调用。
[0057]其中,所述适配器模式(Adapter模式)可以将一个类的应用程序接口转换另外一个类的应用程序接口,使得由于应用程序接口不兼容而无法一起工作的类可以在一起工作。
[0058]上述第二浏览器应用程序接口 API可以由用户从第二浏览器的扩展应用编写规范中获取,并保存在指定区域中,该指定区域为浏览器所在的计算机系统中第一浏览器可以访问到的任意存储区域。
[0059]S102、所述第一浏览器将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用。
[0060]本发明实施例的一种实现方式中,所述第二浏览器的扩展应用对第二浏览器API的调用采用第一计算机编程语言实现,所述转换后的第二浏览器的扩展应用对第一浏览器API的调用采用第二计算机编程语言实现。所述第一计算机编程语言包括JS语言或C++语目;第二计算机编程语目包括:JS语目或C++语g。
[0061]本发明实施例的一种实现方式中,所述第一计算机编程语言和第二计算机编程语言为相同的语言,或者,所述第一计算机编程语言和第二计算机编程语言为不相同的语言。
[0062]例如,所述第二浏览器的扩展应用对第二浏览器API的调用采用JS语言实现,转换后的第二浏览器的扩展应用对第一浏览器API的调用可以采用JS语言或C++语言实现。
[0063]S103、在第一浏览器中,所述第二浏览器的扩展应用通过所述转换后的对第一浏览器API的调用,执行所述第二浏览器的扩展应用的功能。
[0064]本发明实施例中,通过在适配器模式下,将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用,在第一浏览器中实现了第二浏览器的扩展应用对API的调用,进而在第一浏览器中实现了第二浏览器的扩展应用的功能。
[0065]如图2所示,本发明实施例还提供一种在浏览器中实现扩展应用的方法,该方法用于在第一浏览器中实现第二浏览器的扩展应用的界面展示。其中,第一浏览器上安装有第二浏览器的扩展应用,所述第一浏览器和第二浏览器为两种不同类型的浏览器。
[0066]本实施例的一种应用场景为:在第一浏览器启动后,加载所述第二浏览器的扩展应用时,需要加载并显示第二浏览器的扩展应用的展示界面,此时,上述浏览器中实现扩展应用的方法包括:
[0067]S201、第一浏览器解析第二浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据。
[0068]所述第二浏览器的扩展应用的界面描述文件可以为HTML文件或者XML文件或其它格式的文件。
[0069]浏览器根据所述界面描述数据可以绘制出浏览器的显示界面。
[0070]不同的浏览器支持的界面描述数据的格式可能不相同,例如,在描述界面中显示的按钮时,可以采用字符串的形式表示该按钮的长宽高,也可以采用三个小数的形式分别表示按钮的长宽高。
[0071]因而,得到第二浏览器的扩展应用的界面描述数据之后,如果第二浏览器支持的界面描述数据的格式与第一浏览器的支持的界面描述数据的格式不同时,第一浏览器就需要将所述第二浏览器的扩展应用的界面描述数据转换为第一浏览器支持的界面描述数据。
[0072]S202、所述第一浏览器将所述第二浏览器的扩展应用的界面描述数据转换为第一浏览器支持的界面描述数据;并将所述转换后的第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,所述第一浏览器的界面描述结构用于描述第一浏览器的界面呈现方式。
[0073]由于不同的浏览器对扩展应用的界面描述规则也不同。如果在第一浏览器中显示第二浏览器的扩展应用的界面,就需要将所述第二浏览器的扩展应用的界面描述数据转换成第一浏览器可以支持的方式。
[0074]上述第一浏览器的界面数据结构是一系列用于描述第一浏览器的界面呈现方式的数据集合,该界面数据结构可以采用MVC (Model模型、View视图、Controller控制器)模式进行构建,将所述第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构之后,第一浏览器可以根据所述第一浏览器的界面数据结构绘制第一浏览器自身界面的同时,也可以将所述第二浏览器的扩展应用的界面绘制并显示出来。[0075]其中,所述第一浏览器的界面数据结构采用文件形式进行存储;或者,所述第一浏览器的界面数据结构采用结构体的形式存储在内存中。
[0076]S203、所述第一浏览器读取所述第一浏览器的界面数据结构中的界面描述数据,所述读取出来的界面描述数据包括所述第二浏览器的扩展应用的界面描述数据。
[0077]S204、所述第一浏览器按照所述第二浏览器的扩展应用的界面描述数据在第一浏览器的展示界面中显示所述第二浏览器的扩展应用的展示界面。
[0078]本发明实施例中,通过解析第二浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据,并将所述第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,在第一浏览器中实现了第二浏览器的扩展应用的界面展示。
[0079]如图3所示,本发明实施例还提供一种在浏览器中实现扩展应用的方法,该方法用于在第一浏览器中实现对第二浏览器的扩展应用的管理。
[0080]本发明实施例的一种应用场景为:在第一浏览器上对第二浏览器的扩展应用进行管理时,该管理包括扩展应用的安装、加载、卸载、扩展功能的使用和禁用等,所述方法包括:
[0081]S301、所述第一浏览器解析所述第二浏览器的扩展应用的安装包,得到所述第二浏览器的扩展应用的扩展描述数据;
[0082]其中,所述第一浏览器和第二浏览器为两种不同类型的浏览器。
[0083]S302、所述第一浏览器将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据。
[0084]由于不同浏览器的扩展应用具有不同的安装包格式,例如=ChiOme浏览器的扩展应用的安装包中,主要的索引文件叫做manifest, json,采用JSON格式描述扩展应用的相关信息,例如,包括扩展名、版本号之类的信息。firefox火狐浏览器的扩展应用的安装包中,主要描述文件是install, rdf,采用XML格式描述扩展的相关信息。
[0085]因而,如果希望第一浏览器能够支持第二浏览器的扩展应用的安装包,则需要解析第二浏览器的扩展应用的安装包,并转换为第一浏览器可以支持的数据格式。
[0086]S303、所述第一浏览器通过所述转换后的扩展描述数据对所述第二浏览器的扩展应用进行管理,所述管理包括扩展应用的安装、加载、卸载、扩展功能的使用和禁用。
[0087]本发明实施例中,通过将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据,在第一浏览器中,实现了对第二浏览器的扩展应用的管理(包括但不限于安装、加载、卸载、扩展功能的使用和禁用)。
[0088]综上所述,上述图1-3所示的方法分别在第一浏览器中实现了第二浏览器的扩展应用对API的调用、第二浏览器的扩展应用的界面展示和管理,亦即在第一浏览器中可以实现对第二浏览器的扩展应用的兼容。可见,采用上述技术方案可以在一种浏览器中实现兼容其他不同种类浏览器的扩展应用。
[0089]实施例2:
[0090]如图4所示,本发明实施例提供一种浏览器,所述浏览器为第一浏览器,安装有第二浏览器的扩展应用,并设有适配器模式10,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述第一浏览器包括:
[0091]接收模块11,用于在适配器模式下,接收第二浏览器的扩展应用对第二浏览器应用程序接口 API的调用;
[0092]转换模块12,用于将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用;
[0093]所述第二浏览器的扩展应用13,用于在第一浏览器中通过所述转换后的对第一浏览器API的调用,执行所述第二浏览器的扩展应用的功能。
[0094]示例性的,所述第二浏览器的扩展应用对第二浏览器API的调用采用第一计算机编程语言实现,所述转换后的第二浏览器的扩展应用对第一浏览器API的调用采用第二计算机编程语言实现;
[0095]所述第一计算机编程语言和第二计算机编程语言为相同的语言,或者,所述第一计算机编程语言和第二计算机编程语言为不相同的语言。
[0096]所述第一计算机编程语言包括:JS语言或C++语言;第二计算机编程语言包括:JS语目或C++语目。
[0097]本发明实施例中,第一浏览器通过在适配器模式下,将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用,在第一浏览器中实现了第二浏览器的扩展应用对API的调用,进而在在第一浏览器中实现了第二浏览器的扩展应用的功倉泛。
[0098]如图5所示,本发明实施例还提供一种浏览器,所述浏览器为第一浏览器,安装有第二浏览器的扩展应用,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述第一浏览器包括:
[0099]解析模块21,用于解析第二浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据;
[0100]转换处理模块22,用于将所述第二浏览器的扩展应用的界面描述数据转换为第一浏览器支持的界面描述数据;并将所述转换后的第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,所述第一浏览器的界面描述结构用于描述第一浏览器的界面呈现方式;
[0101]读取模块23,用于读取所述第一浏览器的界面数据结构中的界面描述数据,所述读取出来的界面描述数据包括所述第二浏览器的扩展应用的界面描述数据;
[0102]显示模块24,用于按照所述第二浏览器的扩展应用的界面描述数据在第一浏览器的展示界面中显示所述第二浏览器的扩展应用的展示界面。
[0103]示例性的,所述第一浏览器的界面数据结构采用文件形式进行存储;或者,
[0104]所述第一浏览器的界面数据结构采用结构体的形式存储在内存中。
[0105]本发明实施例中,第一浏览器通过解析第二浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据,并将所述第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,在第一浏览器中实现了第二浏览器的扩展应用的界面展不。
[0106]如图6所示,本发明实施例提供一种浏览器,所述浏览器为第一浏览器,所述第一浏览器包括:[0107]解析模块31,用于解析所述第二浏览器的扩展应用的安装包,得到所述第二浏览器的扩展应用的扩展描述数据,所述第一浏览器和第二浏览器为两种不同类型的浏览器;
[0108]转换模块32,用于将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据;
[0109]扩展应用管理模块33,用于通过所述转换后的扩展描述数据对所述第二浏览器的扩展应用进行管理,所述管理应包括扩展应用的安装、加载、卸载、扩展功能的使用和禁用。
[0110]本发明实施例中,第一浏览器通过将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据,在第一浏览器中,实现了对第二浏览器的扩展应用的管理(包括但不限于安装、加载、卸载、扩展功能的使用和禁用)。
[0111]综上所述,在上述图4-6所示的第一浏览器中,分别实现了第二浏览器的扩展应用对API的调用、第二浏览器的扩展应用的界面展示和管理,亦即在第一浏览器中可以实现对第二浏览器的扩展应用的兼容。可见,采用上述技术方案可以在一种浏览器中实现兼容其他不同种类浏览器的扩展应用。
[0112]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0113]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1.一种在浏览器中实现扩展应用的方法,其特征在于,第一浏览器上安装有第二浏览器的扩展应用,并设有适配器模式,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述方法包括: 在适配器模式下,所述第一浏览器接收第二浏览器的扩展应用对第二浏览器应用程序接口 API的调用; 所述第一浏览器将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用; 在第一浏览器中,所述第二浏览器的扩展应用通过所述转换后的对第一浏览器API的调用,执行所述第二浏览器的扩展应用的功能。
2.根据权利要求1所述的方法,其特征在于,所述第二浏览器的扩展应用对第二浏览器API的调用采用第一计算机编程语言实现,所述转换后的第二浏览器的扩展应用对第一浏览器API的调用采用第二计算机编程语言实现; 所述第一计算机编程语言和第二计算机编程语言为相同的语言,或者,所述第一计算机编程语言和第二计算机编程语言为不相同的语言。
3.—种在浏览器中实现扩展应用的方法,其特征在于,第一浏览器上安装有第二浏览器的扩展应用,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述方法包括: 第一浏览器解析第二浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据; 将所述第二浏览器的扩展应用的界面描述数据转换为第一浏览器支持的界面描述数 据; 所述第一浏览器将所述转换后的第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,所述第一浏览器的界面描述结构用于描述第一浏览器的界面呈现方式; 所述第一浏览器读取所述第一浏览器的界面数据结构中的界面描述数据,所述读取出来的界面描述数据包括所述第二浏览器的扩展应用的界面描述数据; 所述第一浏览器按照所述第二浏览器的扩展应用的界面描述数据在第一浏览器的展示界面中显示所述第二浏览器的扩展应用的展示界面。
4.根据权利要求3所述的方法,其特征在于,所述第一浏览器的界面数据结构采用文件形式进行存储;或者, 所述第一浏览器的界面数据结构采用结构体的形式存储在内存中。
5.一种在浏览器中实现扩展应用的方法,其特征在于,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述方法包括: 所述第一浏览器解析所述第二浏览器的扩展应用的安装包,得到所述第二浏览器的扩展应用的扩展描述数据; 所述第一浏览器将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据; 所述第一浏览器通过所述转换后的扩展描述数据对所述第二浏览器的扩展应用进行管理。
6.根据权利要求5所述的方法,其特征在于,所述管理包括扩展应用的安装、加载、卸载、扩展功能的使用和禁用。
7.—种浏览器,其特征在于,所述浏览器为第一浏览器,安装有第二浏览器的扩展应用,并设有适配器模式,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述第一浏览器包括:接收模块,用于在适配器模式下,接收第二浏览器的扩展应用对第二浏览器应用程序接口 API的调用;转换模块,用于将第二浏览器的扩展应用对第二浏览器API的调用转换为对第一浏览器API的调用;所述第二浏览器的扩展应用,用于在第一浏览器中通过所述转换后的对第一浏览器API的调用,执行所述第二浏览器的扩展应用的功能。
8.根据权利要求7所述的浏览器,其特征在于,所述第二浏览器的扩展应用对第二浏览器API的调用采用第一计算机编程语言实现,所述转换后的第二浏览器的扩展应用对第一浏览器API的调用采用第二计算机编程语言实现;所述第一计算机编程语言和第二计算机编程语言为相同的语言,或者,所述第一计算机编程语言和第二计算机编程语言为不相同的语言。
9.一种浏览器,其特征在于,所述浏览器为第一浏览器,安装有第二浏览器的扩展应用,所述第一浏览器和第二浏览器为两种不同类型的浏览器,所述第一浏览器包括:解析模块,用于解析第二 浏览器的扩展应用的界面描述文件,得到第二浏览器的扩展应用的界面描述数据;转换处理模块,用于将所述第二浏览器的扩展应用的界面描述数据转换为第一浏览器支持的界面描述数据;并将所述转换后的第二浏览器的扩展应用的界面描述数据存储在所述第一浏览器的界面数据结构中,所述第一浏览器的界面描述结构用于描述第一浏览器的界面呈现方式;读取模块,用于读取所述第一浏览器的界面数据结构中的界面描述数据,所述读取出来的界面描述数据包括所述第二浏览器的扩展应用的界面描述数据;显示模块,用于按照所述第二浏览器的扩展应用的界面描述数据在第一浏览器的展示界面中显示所述第二浏览器的扩展应用的展示界面。
10.根据权利要9所述的浏览器,其特征在于,所述第一浏览器的界面数据结构采用文件形式进行存储;或者,所述第一浏览器的界面数据结构采用结构体的形式存储在内存中。
11.一种浏览器,其特征在于,所述浏览器为第一浏览器,所述第一浏览器包括:解析模块,用于解析所述第二浏览器的扩展应用的安装包,得到所述第二浏览器的扩展应用的扩展描述数据,所述第一浏览器和第二浏览器为两种不同类型的浏览器;转换模块,用于将所述第二浏览器的扩展应用的扩展描述数据按照第一浏览器支持的数据格式转换成所述第一浏览器支持的扩展描述数据;扩展应用管理模块,用于通过所述转换后的扩展描述数据对所述第二浏览器的扩展应用进行管理。
12.根据权利要求11所述的浏览器,其特征在于,所述管理应包括扩展应用的安装、加载、卸载、扩展功能的使用和禁用。
【文档编号】G06F9/44GK103593370SQ201210292249
【公开日】2014年2月19日 申请日期:2012年8月16日 优先权日:2012年8月16日
【发明者】滕跃龙, 务孟庆, 蒋进舟 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1