CN103176834A - 一种调用扩展接口的方法及装置 - Google Patents
一种调用扩展接口的方法及装置 Download PDFInfo
- Publication number
- CN103176834A CN103176834A CN2011104417157A CN201110441715A CN103176834A CN 103176834 A CN103176834 A CN 103176834A CN 2011104417157 A CN2011104417157 A CN 2011104417157A CN 201110441715 A CN201110441715 A CN 201110441715A CN 103176834 A CN103176834 A CN 103176834A
- Authority
- CN
- China
- Prior art keywords
- expansion interface
- data structure
- interface
- parameter
- browser kernel
- 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.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种调用扩展接口的方法及装置,属于计算机领域。所述方法包括:接收浏览器内核需要调用的扩展接口的标识和所述扩展接口对应的参数;对所述扩展接口对应的参数进行解析,将所述扩展接口对应的参数转换成通用数据结构的参数,所述通用数据结构为所述扩展接口能识别的数据结构;调用所述扩展接口的标识对应的扩展接口,使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果;采用所述浏览器内核所支持的数据结构对所述运行结果进行封装,将所述封装的运行结果发送给所述浏览器内核。所述装置包括:接收模块、解析模块、调用模块和第一封装模块。本发明能够减少多核浏览器的开发成本。
Description
技术领域
本发明涉及计算机领域,特别涉及一种调用扩展接口的方法及装置。
背景技术
在开发Web(网页)应用时,常出现浏览器提供的应用接口不能满足Web应用的需求,如此需要对浏览器内核的能力进行扩展;目前技术人员可以开发出扩展接口,浏览器内核可以调用扩展接口来满足Web应用的需求,从而实现对浏览器内核的能力进行扩展。
其中,目前的扩展接口都是基于特定的浏览器内核开发的,使得每种浏览器内核对应一套扩展接口,且每种浏览器内核只能调用其对应的扩展接口,例如,IE(Internet Explorer,英特网浏览器)内核和WebKit内核是目前常见的两种浏览器内核,为IE内核开发出其对应的一套扩展接口来扩展IE内核的能力;以及为WebKit内核开发出对应的一套扩展接口来扩展WebKit内核的能力。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
目前出现了多核浏览器,为了扩展浏览器中的浏览器内核的能力,需要为多核浏览器中的每个浏览器内核开发出其对应的一套扩展接口,如此增加了多核浏览器的开发成本。
发明内容
为了减少多核浏览器的开发成本,本发明提供了一种调用扩展接口的方法及装置。所述技术方案如下:
一种调用扩展接口的方法,所述方法包括:
接收浏览器内核需要调用的扩展接口的标识和所述扩展接口对应的参数;
对所述扩展接口对应的参数进行解析,将所述扩展接口对应的参数转换成通用数据结构的参数,所述通用数据结构为所述扩展接口能识别的数据结构;
调用所述扩展接口的标识对应的扩展接口,使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果;
采用所述浏览器内核所支持的数据结构对所述运行结果进行封装,将所述封装的运行结果发送给所述浏览器内核。
所述对所述扩展接口对应的参数进行解析,将所述扩展接口对应的参数转换成通用数据结构的参数,包括:
获取所述浏览器内核对应的解析接口;
通过所述解析接口解析出所述浏览器内核封装所述扩展接口对应的参数所采用的数据结构,得到所述浏览器内核所支持的数据结构;
根据所述浏览器内核所支持的数据结构对所述扩展接口对应的参数进行解封装,得到通用数据结构的参数。
所述获取所述浏览器内核对应的解析接口,包括:
获取所述浏览器内核的类型,根据所述浏览器内核的类型确定出对应的解析接口的标识;
从已存储的解析接收口的标识与索引的对应关系中,获取所述解析接口对应的索引;
根据所述解析接口对应的索引从终端本地获取所述解析接口。
所述调用所述扩展接口的标识对应的扩展接口,使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果,包括:
根据所述扩展接口的标识从已存储的扩展接口的标识与索引的对应关系中,获取所述扩展接口对应的索引;
根据所述获取的索引从终端本地获取所述扩展接口,将所述扩展接口对应通用数据结构的参数传输给所述扩展接口,使所述扩展接口根据所述扩展接口对应通用数据结构的参数进行运行,得到运行结果。
所述使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果,还包括:
当所述扩展接口根据所述通用数据结构的参数进行运行的过程中,如果所述扩展接口产生事件,则采用所述浏览器内核所支持的数据结构对所述事件进行封装,并将所述封装的事件提交给所述浏览器内核,由所述浏览器内核对所述事件进行处理。
一种调用扩展接口的装置,所述装置包括:
接收模块,用于接收浏览器内核需要调用的扩展接口的标识和所述扩展接口对应的参数;
解析模块,用于对所述扩展接口对应的参数进行解析,将所述扩展接口对应的参数转换成通用数据结构的参数,所述通用数据结构为所述扩展接口能识别的数据结构;
调用模块,用于调用所述扩展接口的标识对应的扩展接口,使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果;
第一封装模块,用于采用所述浏览器内核所支持的数据结构对所述运行结果进行封装,将所述封装的运行结果发送给所述浏览器内核。
所述解析模块包括:
第一获取单元,用于获取所述浏览器内核对应的解析接口;
解析单元,用于通过所述解析接口解析出所述浏览器内核封装所述扩展接口对应的参数所采用的数据结构,得到所述浏览器内核所支持的数据结构;
解封装单元,用于根据所述浏览器内核所支持的数据结构对所述扩展接口对应的参数进行解封装,得到通用数据结构的参数。
所述第一获取单元包括:
第一获取子单元,用于获取所述浏览器内核的类型,根据所述浏览器内核的类型确定出对应的解析接口的标识;
第二获取子单元,用于从已存储的解析接口的标识与索引的对应关系中,获取所述解析接口对应的索引;
第三获取子单元,用于根据所述解析接口对应的索引从终端本地获取所述解析接口。
所述调用模块包括:
第二获取单元,用于根据所述扩展接口的标识从已存储的扩展接口的标识与索引的对应关系中,获取所述扩展接口对应的索引;
运行单元,用于根据所述获取的索引从终端本地获取所述扩展接口,将所述扩展接口对应通用数据结构的参数传输给所述扩展接口,使所述扩展接口根据所述扩展接口对应通用数据结构的参数进行运行,得到运行结果。
所述装置还包括:
第二封装模块,用于当所述扩展接口根据所述通用数据结构的参数进行运行的过程中,如果所述扩展接口产生事件,则采用所述浏览器内核所支持的数据结构对所述事件进行封装,并将所述封装的事件提交给所述浏览器内核,由所述浏览器内核对所述事件进行处理。
在本发明中,接收浏览器内核需要调用的扩展接口的标识和该扩展接口对应的参数,对该扩展接口对应的参数进行解析,该扩展接口对应的参数转换该扩展接口能识别的通用数据结构的参数,调用该扩展接口的标识对应的扩展接口,使该扩展接口根据通用数据结构的参数进行运行得到运行结果,采用该浏览器内核所支持的数据结构对运行结果进行封装,将封装后的运行结果发送给该浏览器内核,如此只需要为多核浏览器开发出一套扩展接口,该多核浏览器中的每个浏览器内核可以共享该套扩展接口,从而减少多核浏览器的开发成本;另外,扩展接口的开发不需要基于具体的浏览器内核,浏览器内核与扩展接口完全独立,从使得多核浏览器具有较高的扩展性。
附图说明
图1是本发明实施例1提供的一种调用扩展接口的方法流程图;
图2是本发明实施例2提供的一种调用扩展接口的方法流程图;
图3是本发明实施例2提供的一种多核浏览器结构示意图;
图4是本发明实施例2提供的一种WebKit内核的架构示意图;
图5是本发明实施例2提供的一种IE内核的架构示意图;
图6是本发明实施例3提供的一种调用扩展接口的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
如图1所示,本发明实施例提供了一种调用扩展接口的方法,包括:
步骤101:接收浏览器内核需要调用的扩展接口的标识和该扩展接口对应的参数;
步骤102:对该扩展接口对应的参数进行解析,将该扩展接口对应的参数转换成通用数据结构形式的参数,通用数据结构为该扩展接口能识别的数据结构;
步骤103:调用该扩展接口的标识对应的扩展接口,使该扩展接口根据通用数据结构的参数进行运行,得到运行结果;
步骤104:采用浏览器内核所支持的数据结构对运行结果进行封装,将封装的运行结果发送给浏览器内核。
其中,上述步骤102,可以包括:
1021:获取浏览器内核对应的解析接口;
1022:通过该解析接口解析出浏览器内核封装该扩展接口对应的参数所采用的数据结构,得到浏览器内核所支持的数据结构;
1023:根据浏览器内核所支持的数据结构对该扩展接口对应的参数进行解封装,得到通用数据结构的参数。
其中,上述步骤1021,可以包括:
(1):获取浏览器内核的类型,根据浏览器内核的类型确定出对应的解析接口的标识;
(2):从已存储的解析接口的标识与索引的对应关系中,获取该解析接口对应的索引;
(3):根据该解析接口对应的索引从终端本地获取该解析接口。
其中,上述步骤103,可以包括:
1031:根据该扩展接口的标识从扩展接口的标识与索引的对应关系中,获取该扩展接口对应的索引;
1032:根据获取的索引从终端本地获取该扩展接口,将该扩展接口对应通用数据结构的参数传输给该扩展接口,并使该扩展接口根据该扩展接口对应通用数据结构的参数进行运行,得到运行结果。
进一步地,该方法还包括:
当该扩展接口根据通用数据结构的参数进行运行的过程中,如果该扩展接口产生事件,则采用浏览器内核所支持的数据结构对产生的事件进行封装,并将封装的事件提交给浏览器内核,由浏览器内核对封装的事件进行处理。
其中,在本发明中,终端包括客户端、Web终端或无线终端,在本发明其他地方出现的终端的含义与此相同,不再一一说明。
在本发明实施例中,接收浏览器内核需要调用的扩展接口的标识和该扩展接口的参数,获取该浏览器内核所支持的数据结构,将该扩展接口的参数转换成该扩展接口能识别的通用数据结构的参数,调用该扩展接口的标识对应的扩展接口,将通用数据结构的参数传输给该扩展接口,使该扩展接口根据通用数据结构的参数进行运行,得到运行结果,采用该浏览器内核所支持的数据结构对运行结果进行封装,将封装后的运行结果发送给该浏览器内核,如此只需要为多核浏览器开发出一套扩展接口,该多核浏览器中的每个浏览器内核可以共享该套扩展接口,从而减少开发多核浏览器的成本。
实施例2
本发明实施例提供了一种调用扩展接口的方法。其中,在本实施例中,为多核浏览器开发一套扩展接口且在多核浏览器中设置一个调用装置,当该多核浏览器中的浏览器内核需要调用扩展接口时,调用装置可以按本实施提供的方法调用该浏览器内核需要调用的扩展接口,参见图2,该方法包括:
步骤201:接收该浏览器内核发送的需要调用的扩展接口的标识和该扩展接口对应的参数;
其中,浏览器内核对Web应用的文本文件包括的代码进行解析,当解析出该Web应用需要调用扩展接口时,从该Web应用的文件本文件中获取需要调用的扩展接口的标识以及该扩展接口的参数,然后该浏览器内核采用其自身支持的数据结构对该扩展接口的参数进行封装,再发送该扩展接口的标识和封装后的该扩展接口对应的参数给调用装置。其中,扩展接口的标识可以为该扩展接口的名称。
其中,在Web应用的文件文件中定义了该Web应用在多核浏览器中所使用的浏览器内核,Web应用的文件文件中还包括Web应用在浏览器中显示的显示内容、各显示内容的布局信息以及用于实现动作的脚本,Web应用的显示内容可以为图片、文字和/或按钮等,显示内容的布局信息可以包括显示内容的位置,颜色和/或大小等。
其中,参见图3,浏览器内核为解析Web应用的文件文件包括的代码提供运行环境,浏览器内核至少包括排版引擎和脚本引擎,排版引擎用于对Web应用中实现显示内容和各显示内容的布局信息进行解释、排布和渲染,脚本引擎用于对Web应用中用于实现动作的脚本进行解析。
其中,当在多核浏览器中运行某个Web应用时,调用装置确定出该Web应用所使用的浏览器内核,将该Web应用的文件文件中包括的各显示内容和各显示内容的布局信息提交给该浏览器内核的排版引擎,以及将该Web应用的文本文件包括用于实现动作的脚本提交给该浏览器内核的脚本引擎;然后该浏览器内核的排版引擎对各显示内容和各显示内容的布局信息进行解释、排布和渲染,当在解释、排布和渲染的过程中需要调用扩展接口时,从各显示内容和各显示内容的布局信息中获取该扩展接口的标识和该扩展接口对应的参数,并采用该浏览器内核所支持的数据结构对该扩展接口对应的参数进行封装,并将该扩展接口的标识和封装后的参数发送给调用装置;以及,该浏览器内核的脚本引擎对该Web应用的文本文件中包括用于实现动作的脚本进行解析,当在解析的过程中需要调用扩展接口时,从用于实现动作的脚本中获取该扩展接口的标识和该扩展接口对应的参数,并采用该浏览器内核所支持的数据结构对该扩展接口对应的参数进行封装,并将该扩展接口的标识和封装后的参数发送给调用装置。
其中,WebKit内核和IE内核是目前常见的两种浏览器内核,参见图4所示的WebKit内核的架构,WebKit内核除了包括排版引擎和脚本引擎外,还包括绑定接口和端口,WebKit内核的排版引擎可以为WebCore,脚本引擎可以为JavaScript,排版引擎中至少包括用于解释显示内容的内容解释单元,用于解释显示内容的布局信息的布局解释单元以及用于根据显示内容的布局信息对显示内容进行排布和渲染的布局渲染单元,排版引擎和脚本引擎通过绑定接口进行交互,排版引擎和脚本引擎通过端口与WebKit内核的外部进行交互。
参见图5所示的IE内核的架构,IE内核除了包括排版引擎和脚本引擎外,还包括网络通信接口和端口,IE内核的排版引擎可以为Trident,脚本引擎可以为MS Jscript engine(MicrosoftJscript engine,微软脚本引擎),IE内核可以通过网络通信接口与网络进行通信,以及通过端口与IE内核的外部进行交互。
步骤202:对该扩展接口对应的参数进行解析,获得该浏览器内核所支持的数据结构,并将该扩展接口对应的参数转换成通用数据结构的参数,通用数据结构为该扩展接口能识别的数据结构;
具体地,获取该浏览器内核对应的解析接口,通过该解析接口解析出该浏览器内核封装该扩展接口对应的参数所采用的数据结构,得到该浏览器内核所支持的数据结构,并根据该浏览器内核所支持的数据结构对该扩展接口对应的参数进行解封装,得到通用数据结构的参数。
其中,事先为多核浏览器中的每个浏览器内核配置对应的解析接口,且该多核浏览器的安装包中包括每个浏览器内核对应的解析接口;终端在安装多核浏览器的安装包时会将每个浏览器内核对应的解析接口存储在终端本地,且终端在安装该多核浏览器的安装包时会形成解析接口的标识和索引的对应关系,解析接口的标识和索引的对应关系中存储的每个解析接口的索引分别指向终端本地存储的每个解析接口。
其中,获取该浏览器内核对应的解析接口的操作,可以具体为:
获取该浏览器内核的类型,根据该浏览器内核的类型确定出对应的解析接口的标识,并从已存储的解析接口的标识与索引的对应关系中,获取该解析接口对应的索引,根据该解析接口的索引从终端本地获取对应的解析接口。
其中,目前常见浏览器内核的类型包括IE内核和WebKit内核等。
其中,在本实施例中,可以将某种编程语言所定义的数据结构作为通用数据结构,例如可以将C++编程语言所定义的整形、字符串类型等数据结构作为通用数据结构;另外,技术人员可以采用通用数据结构来开发多核浏览器对应的一套扩展接口,所以该多核浏览器对应的每个扩展接口能够识别通用数据结构的数据。
步骤203:根据该扩展接口的标识调用对应的扩展接口,使该扩展接口根据该通用数据结构的参数进行运行,得到运行结果;
其中,多核浏览器内嵌浏览器对象(例如,widndow(窗口)对象和document(文档)对象等),事先对每个浏览器对象进行扩展并开发出扩展接口,得到该多核浏览器配置对应的一套扩展接口,且该多核浏览器的安装包中包括该多核浏览器对应的一套扩展接口;终端在安装多核浏览器的安装包时会将该多核浏览器对应的一套扩展接口存储在终端本地,且终端在安装安装包时会形成扩展接口的标识和索引的对应关系,扩展接口的标识和索引的对应关系中的每个扩展接口的索引分别指向终端本地存储的每个扩展接口。
具体地,根据该扩展接口的标识从已存储的扩展接口的标识与索引的对应关系中,获取该扩展接口对应的索引,根据获取的索引从终端本地获取该扩展接口,将该扩展接口对应的通用数据结构的参数传输给该扩展接口,使该扩展接口根据该扩展接口对应的通用数据结构的参数进行运行,得到运行结果。
其中,需要说明的是:在本实施例中,可以采用树形数据结构在终端本地存储解析接口和扩展接口,树形数据结构中的节点用于存储解析接口或扩展接口,且解析接口的标识与索引的对应关系中的解析接口对应的索引指向树形数据结构中用于存储该解析接口的节点,以及,扩展接口的标识与索引的对应关系中的扩展接口对应的索引指向树形数据结构中用于存储该扩展接口的节点。
步骤204:采用该浏览器内核所支持的数据结构对得到的运行结果进行封装,并将封装后的运行结果发送给该浏览器内核。
其中,每种浏览器内核只能识别其所支持的数据结构的数据,在本实施例中,将每种浏览器内核所采用的数据结构封装的数据转换成通用数据结构的数据,且开发的一套扩展接口能识别通用数据结构的数据;另外,采用浏览器内核所支持的数据结构对运行结果进行封装,使得浏览器内核能够识别封装后的运行结果,从而对运行结果进行处理。
进一步地,当该扩展接口根据该扩展接口对应通用数据结构的参数进行运行的过程中,如果该扩展接口产生事件,则可以采用该浏览器内核所支持的数据结构对该事件进行封装,并将封装后的事件提交给该浏览器内核,由该浏览器内核对该事件进行处理。
在本发明实施例中,接收浏览器内核需要调用的扩展接口的标识和该扩展接口的参数,获取该浏览器内核所支持的数据结构,将该扩展接口的参数转换成该扩展接口能识别的通用数据结构的参数,调用该扩展接口的标识对应的扩展接口,使该扩展接口根据通用数据结构的参数进行运行得到运行结果,采用该浏览器内核所支持的数据结构对运行结果进行封装,将封装后的运行结果发送给该浏览器内核,如此只需要为多核浏览器开发出一套扩展接口,该多核浏览器中的每个浏览器内核可以共享该套扩展接口,从而减少开发多核浏览器的成本。
实施例3
如图4所示,本发明实施例提供了一种调用扩展接口的装置,包括:
接收模块301,用于接收浏览器内核需要调用的扩展接口的标识和该扩展接口对应的参数;
解析模块302,用于对该扩展接口对应的参数进行解析,将该扩展接口对应的参数转换成通用数据结构的参数,通用数据结构为该扩展接口能识别的数据结构;
调用模块303,用于调用该扩展接口的标识对应的扩展接口,使该扩展接口根据通用数据结构的参数进行运行,得到运行结果;
第一封装模块304,用于采用该浏览器内核所支持的数据结构对运行结果进行封装,将封装的运行结果发送给该浏览器内核。
其中,解析模块302包括:
第一获取单元,用于获取该浏览器内核对应的解析接口;
解析单元,用于通过该解析接口解析出该浏览器内核封装该扩展接口对应的参数所采用的数据结构,得到该浏览器内核所支持的数据结构;
解封装单元,用于根据该浏览器内核所支持的数据结构对该扩展接口对应的参数进行解封装,得到通用数据结构的参数。
其中,第一获取单元包括:
第一获取子单元,用于获取该浏览器内核的类型,根据该浏览器内核的类型确定出对应的解析接口的标识;
第二获取子单元,用于从已存储的解析接口的标识与索引的对应关系中,获取该解析接口对应的索引;
第三获取子单元,用于根据该解析接口对应的索引从终端本地获取该解析接口。
其中,调用模块303包括:
第二获取单元,用于根据该扩展接口的标识从已存储的扩展接口的标识与索引的对应关系中,获取该扩展接口对应的索引;
运行单元,用于根据获取的索引从终端本地获取该扩展接口,将该扩展接口对应通用数据结构的参数传输给该扩展接口,使该扩展接口根据该扩展接口对应通用数据结构的参数进行运行,得到运行结果。
进一步地,该装置还包括:
第二封装模块,用于当该扩展接口根据通用数据结构的参数进行运行的过程中,如果该扩展接口产生事件,则采用该浏览器内核所支持的数据结构对产生的事件进行封装,并将封装的事件提交给该浏览器内核,由该浏览器内核对封装的事件进行处理。
在本发明实施例中,接收浏览器内核需要调用的扩展接口的标识和该扩展接口的参数,获取该浏览器内核所支持的数据结构,将该扩展接口的参数转换成该扩展接口能够识别的通用数据结构的参数,调用该扩展接口的标识对应的扩展接口,使该扩展接口根据通用数据结构的参数进行运行,得到运行结果,采用该浏览器内核所支持的数据结构对运行结果进行封装,将封装后的运行结果发送给该浏览器内核,如此只需要为多核浏览器开发出一套扩展接口,该多核浏览器中的每个浏览器内核可以共享该套扩展接口,从而减少开发多核浏览器的成本。
需要说明的是:上述实施例提供的一种调用扩展接口的装置在调用扩展接口时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供调用扩展接口的装置与调用扩展接口的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种调用扩展接口的方法,其特征在于,所述方法包括:
接收浏览器内核需要调用的扩展接口的标识和所述扩展接口对应的参数;
对所述扩展接口对应的参数进行解析,将所述扩展接口对应的参数转换成通用数据结构的参数,所述通用数据结构为所述扩展接口能识别的数据结构;
调用所述扩展接口的标识对应的扩展接口,使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果;
采用所述浏览器内核所支持的数据结构对所述运行结果进行封装,将所述封装的运行结果发送给所述浏览器内核。
2.如权利要求1所述的方法,其特征在于,所述对所述扩展接口对应的参数进行解析,将所述扩展接口对应的参数转换成通用数据结构的参数,包括:
获取所述浏览器内核对应的解析接口;
通过所述解析接口解析出所述浏览器内核封装所述扩展接口对应的参数所采用的数据结构,得到所述浏览器内核所支持的数据结构;
根据所述浏览器内核所支持的数据结构对所述扩展接口对应的参数进行解封装,得到通用数据结构的参数。
3.如权利要求2所述的方法,其特征在于,所述获取所述浏览器内核对应的解析接口,包括:
获取所述浏览器内核的类型,根据所述浏览器内核的类型确定出对应的解析接口的标识;
从已存储的解析接口的标识与索引的对应关系中,获取所述解析接口对应的索引;
根据所述解析接口对应的索引从终端本地获取所述解析接口。
4.如权利要求1所述的方法,其特征在于,所述调用所述扩展接口的标识对应的扩展接口,使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果,包括:
根据所述扩展接口的标识从已存储的扩展接口的标识与索引的对应关系中,获取所述扩展接口对应的索引;
根据所述获取的索引从终端本地获取所述扩展接口,将所述扩展接口对应通用数据结构的参数传输给所述扩展接口,使所述扩展接口根据所述扩展接口对应通用数据结构的参数进行运行,得到运行结果。
5.如权利要求1-4任一项权利要求所述的方法,其特征在于,所述使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果,还包括:
当所述扩展接口根据所述通用数据结构的参数进行运行的过程中,如果所述扩展接口产生事件,则采用所述浏览器内核所支持的数据结构对所述事件进行封装,并将所述封装的事件提交给所述浏览器内核,由所述浏览器内核对所述事件进行处理。
6.一种调用扩展接口的装置,其特征在于,所述装置包括:
接收模块,用于接收浏览器内核需要调用的扩展接口的标识和所述扩展接口对应的参数;
解析模块,用于对所述扩展接口对应的参数进行解析,将所述扩展接口对应的参数转换成通用数据结构的参数,所述通用数据结构为所述扩展接口能识别的数据结构;
调用模块,用于调用所述扩展接口的标识对应的扩展接口,使所述扩展接口根据所述通用数据结构的参数进行运行,得到运行结果;
第一封装模块,用于采用所述浏览器内核所支持的数据结构对所述运行结果进行封装,将所述封装的运行结果发送给所述浏览器内核。
7.如权利要求6所述的装置,其特征在于,所述解析模块包括:
第一获取单元,用于获取所述浏览器内核对应的解析接口;
解析单元,用于通过所述解析接口解析出所述浏览器内核封装所述扩展接口对应的参数所采用的数据结构,得到所述浏览器内核所支持的数据结构;
解封装单元,用于根据所述浏览器内核所支持的数据结构对所述扩展接口对应的参数进行解封装,得到通用数据结构的参数。
8.如权利要求7所述的装置,其特征在于,所述第一获取单元包括:
第一获取子单元,用于获取所述浏览器内核的类型,根据所述浏览器内核的类型确定出对应的解析接口的标识;
第二获取子单元,用于从已存储的解析接口的标识与索引的对应关系中,获取所述解析接口对应的索引;
第三获取子单元,用于根据所述解析接口对应的索引从终端本地获取所述解析接口。
9.如权利要求6所述的装置,其特征在于,所述调用模块包括:
第二获取单元,用于根据所述扩展接口的标识从已存储的扩展接口的标识与索引的对应关系中,获取所述扩展接口对应的索引;
运行单元,用于根据所述获取的索引从终端本地获取所述扩展接口,将所述扩展接口对应通用数据结构的参数传输给所述扩展接口,使所述扩展接口根据所述扩展接口对应通用数据结构的参数进行运行,得到运行结果。
10.如权利要求6-9任一项权利要求所述的装置,其特征在于,所述装置还包括:
第二封装模块,用于当所述扩展接口根据所述通用数据结构的参数进行运行的过程中,如果所述扩展接口产生事件,则采用所述浏览器内核所支持的数据结构对所述事件进行封装,并将所述封装的事件提交给所述浏览器内核,由所述浏览器内核对所述事件进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110441715.7A CN103176834B (zh) | 2011-12-26 | 2011-12-26 | 一种调用扩展接口的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110441715.7A CN103176834B (zh) | 2011-12-26 | 2011-12-26 | 一种调用扩展接口的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103176834A true CN103176834A (zh) | 2013-06-26 |
CN103176834B CN103176834B (zh) | 2016-02-17 |
Family
ID=48636737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110441715.7A Active CN103176834B (zh) | 2011-12-26 | 2011-12-26 | 一种调用扩展接口的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103176834B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955515A (zh) * | 2014-05-05 | 2014-07-30 | 百度在线网络技术(北京)有限公司 | 双核浏览器的处理方法及装置 |
CN104281455A (zh) * | 2014-10-11 | 2015-01-14 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN104881318A (zh) * | 2015-05-07 | 2015-09-02 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN105389222A (zh) * | 2015-12-15 | 2016-03-09 | 中国科学院声学研究所 | 一种动态调用原生接口的方法、装置和*** |
CN106980550A (zh) * | 2017-03-23 | 2017-07-25 | 青岛海信电器股份有限公司 | 扩展接口调用方法及装置 |
CN108334382A (zh) * | 2018-01-30 | 2018-07-27 | 美通云动(北京)科技有限公司 | 浏览器的控制方法、装置、电子设备及计算机可读介质 |
CN110008035A (zh) * | 2018-12-27 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 数据接口扩展方法、数据处理方法、装置及设备 |
CN111352360A (zh) * | 2018-12-24 | 2020-06-30 | 深圳市优必选科技有限公司 | 机器人的控制方法、装置、机器人及计算机存储介质 |
CN112925589A (zh) * | 2019-12-06 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 扩展接口的调用方法及装置 |
CN112988410A (zh) * | 2019-12-17 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 浏览器扩展接口的调用方法、装置、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039320A (zh) * | 2005-12-29 | 2007-09-19 | 国际商业机器公司 | 用于提供客户应用和Web服务之间的接口的方法和*** |
CN102075800A (zh) * | 2011-01-11 | 2011-05-25 | 中兴通讯股份有限公司 | 基于交互式个人电视机顶盒文件播放控制方法及*** |
-
2011
- 2011-12-26 CN CN201110441715.7A patent/CN103176834B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039320A (zh) * | 2005-12-29 | 2007-09-19 | 国际商业机器公司 | 用于提供客户应用和Web服务之间的接口的方法和*** |
CN102075800A (zh) * | 2011-01-11 | 2011-05-25 | 中兴通讯股份有限公司 | 基于交互式个人电视机顶盒文件播放控制方法及*** |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955515B (zh) * | 2014-05-05 | 2018-03-30 | 百度在线网络技术(北京)有限公司 | 双核浏览器的处理方法及装置 |
CN103955515A (zh) * | 2014-05-05 | 2014-07-30 | 百度在线网络技术(北京)有限公司 | 双核浏览器的处理方法及装置 |
CN104281455A (zh) * | 2014-10-11 | 2015-01-14 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN104881318A (zh) * | 2015-05-07 | 2015-09-02 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN104881318B (zh) * | 2015-05-07 | 2019-06-25 | 珠海豹趣科技有限公司 | 一种接口调用方法、装置及终端 |
WO2016177341A1 (zh) * | 2015-05-07 | 2016-11-10 | 北京金山安全软件有限公司 | 接口调用方法、装置及终端 |
CN105389222B (zh) * | 2015-12-15 | 2018-12-21 | 中国科学院声学研究所 | 一种动态调用原生接口的方法、装置和*** |
CN105389222A (zh) * | 2015-12-15 | 2016-03-09 | 中国科学院声学研究所 | 一种动态调用原生接口的方法、装置和*** |
CN106980550A (zh) * | 2017-03-23 | 2017-07-25 | 青岛海信电器股份有限公司 | 扩展接口调用方法及装置 |
CN108334382A (zh) * | 2018-01-30 | 2018-07-27 | 美通云动(北京)科技有限公司 | 浏览器的控制方法、装置、电子设备及计算机可读介质 |
CN111352360A (zh) * | 2018-12-24 | 2020-06-30 | 深圳市优必选科技有限公司 | 机器人的控制方法、装置、机器人及计算机存储介质 |
CN110008035A (zh) * | 2018-12-27 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 数据接口扩展方法、数据处理方法、装置及设备 |
CN110008035B (zh) * | 2018-12-27 | 2022-11-18 | 阿里巴巴集团控股有限公司 | 数据接口扩展方法、数据处理方法、装置及设备 |
CN112925589A (zh) * | 2019-12-06 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 扩展接口的调用方法及装置 |
CN112925589B (zh) * | 2019-12-06 | 2023-10-17 | 深圳市雅阅科技有限公司 | 扩展接口的调用方法及装置 |
CN112988410A (zh) * | 2019-12-17 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 浏览器扩展接口的调用方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103176834B (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103176834A (zh) | 一种调用扩展接口的方法及装置 | |
CN107861713B (zh) | 数据调用方法、装置及计算机可读存储介质 | |
CN102929638B (zh) | 扩展WebApp应用功能的方法和*** | |
CN103873918A (zh) | 图片处理方法、装置及终端 | |
CN101465866B (zh) | 基于Web终端访问WAP网络的方法及转换模块 | |
US20090288099A1 (en) | Apparatus and method for accessing and indexing dynamic web pages | |
CN102129364A (zh) | 应用程序中嵌入微件工具栏的方法和快速访问微件的方法 | |
CN101815093A (zh) | 一种网页到移动终端的适配方法及移动终端页面适配装置 | |
CN103517385A (zh) | 安卓***Wi-Fi的AP的连接方法及*** | |
CN110908712A (zh) | 移动端跨平台的数据处理方法和设备 | |
US20150169600A1 (en) | Interface display method and system for home gateway applicable to various display types | |
CN109240697B (zh) | 调用处理方法及装置、存储介质 | |
CN104038510A (zh) | iOS***透明代理的实现方法及*** | |
CN110221848A (zh) | App页面更新方法、装置、电子设备及存储介质 | |
EP4198773A1 (en) | Image processing method and apparatus, and computer readable storage medium | |
CN109828815A (zh) | 基于混合模式的屏幕适配方法、装置、设备及存储介质 | |
CN104978183A (zh) | 一种图标构造方法,及终端设备 | |
CN106331055A (zh) | 标识符生成装置及方法 | |
CN104615670A (zh) | 一种android浏览器中支持多渲染引擎的方法及浏览器 | |
CN101960823B (zh) | 具有卡应用程序工具箱解释器的便携式数据载体 | |
US8266514B2 (en) | Map service | |
CN103634396A (zh) | 一种访问内网Web页面服务数据的方法、网关设备及*** | |
CN104679489A (zh) | 一种在网络游戏客户端中内置网络浏览器的***及方法 | |
CN104965832A (zh) | 访问浏览器的方法及装置 | |
CN102497478A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |