《一种接口调用方法、装置及终端.pdf》由会员分享,可在线阅读,更多相关《一种接口调用方法、装置及终端.pdf(21页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104281455 A (43)申请公布日 2015.01.14 CN 104281455 A (21)申请号 201410534517.9 (22)申请日 2014.10.11 G06F 9/44(2006.01) G06F 17/30(2006.01) (71)申请人 北京金山安全软件有限公司 地址 100085 北京市海淀区小营西路 33 号 二层东区 (72)发明人 魏宏涛 张骏 (74)专利代理机构 广州三环专利代理有限公司 44202 代理人 郝传鑫 熊永强 (54) 发明名称 一种接口调用方法、 装置及终端 (57) 摘要 本发明实施例公开了一种接口调用。
2、方法, 包 括 : 接收多核浏览器中任一浏览器内核发送的接 口调用信息, 所述接口调用信息包括调用目标接 口所需要的接口标识和参数, 所述参数的数据类 型属于该浏览器内核支持的数据类型 ; 将所述参 数进行格式转换, 转换后的参数的数据类型为预 设的第一数据类型 ; 将所述转换后的参数作为输 入参数, 调用所述接口标识对应的目标接口函数。 本发明实施例还公开了一种接口调用装置及终 端。采用本发明实施例, 可以提高调用接口的效 率。 (51)Int.Cl. 权利要求书 2 页 说明书 13 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书13页。
3、 附图5页 (10)申请公布号 CN 104281455 A CN 104281455 A 1/2 页 2 1. 一种接口调用方法, 其特征在于, 包括 : 接收多核浏览器中任一浏览器内核发送的接口调用信息, 所述接口调用信息包括调用 目标接口所需要的接口标识和参数, 所述参数的数据类型属于该浏览器内核支持的数据类 型 ; 将所述参数进行格式转换, 转换后的参数的数据类型为预设的第一数据类型 ; 将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函数。 2. 如权利要求 1 所述的方法, 其特征在于, 所述将所述转换后的参数作为输入参数, 调 用所述接口标识对应的目标接口函数之后。
4、, 所述方法还包括 : 获取调用所述目标接口函数后返回的输出参数, 所述输出参数的数据类型为预设的第 二数据类型 ; 将所述输出参数进行格式转换, 转换后的输出参数的数据类型属于发送所述接口调用 信息的浏览器内核支持的数据类型 ; 向该浏览器内核返回所述转换后的输出参数。 3. 如权利要求 1 或 2 所述的方法, 其特征在于, 所述将所述转换后的参数作为输入参 数, 调用所述接口标识对应的目标接口函数之前, 所述方法还包括 : 根据所述接口标识, 查询预设信息库中是否存在与所述接口标识匹配的目标接口函 数 ; 若是, 执行将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函 数。
5、的步骤。 4. 如权利要求 3 所述的方法, 其特征在于, 所述根据所述接口标识, 查询预设信息库中 是否存在与所述接口标识匹配的目标接口函数之后, 所述方法还包括 : 若否, 向发送所述接口调用信息的浏览器内核返回预设的错误信息。 5. 如权利要求 2 所述的方法, 其特征在于, 所述第一数据类型包括 KeyValueMap 类型, 所述第二数据类型包括 Value 类型。 6. 一种接口调用装置, 其特征在于, 包括 : 接收模块, 用于接收多核浏览器中任一浏览器内核发送的接口调用信息, 所述接口调 用信息包括调用目标接口所需要的接口标识和参数, 所述参数的数据类型属于该浏览器内 核支持的。
6、数据类型 ; 第一转换模块, 用于将所述参数进行格式转换, 转换后的参数的数据类型为预设的第 一数据类型 ; 调用模块, 用于将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接 口函数。 7. 如权利要求 6 所述的装置, 其特征在于, 所述装置还包括 : 获取模块, 用于获取调用所述接口函数后返回的输出参数, 所述输出参数的数据类型 为预设的第二数据类型 ; 第二转换模块, 用于将所述输出参数进行格式转换, 转换后的输出参数的数据类型属 于发送所述接口调用信息的浏览器内核支持的数据类型 ; 发送模块, 用于向该浏览器内核返回所述转换后的输出参数。 8. 如权利要求 6 或 7 所。
7、述的装置, 其特征在于, 所述装置还包括 : 权 利 要 求 书 CN 104281455 A 2 2/2 页 3 查询模块, 用于根据所述接口标识, 查询预设信息库中是否存在与所述接口标识匹配 的目标接口函数 ; 所述调用模块, 用于若所述预设信息库中存在与所述接口标识匹配的目标接口函数, 将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函数。 9. 如权利要求 7 所述的装置, 其特征在于, 所述发送模块还用于 : 若所述预设信息库中不存在与所述接口标识匹配的目标接口函数, 向发送所述接口调 用信息的浏览器内核返回预设的错误信息。 10.如权利要求7所述的装置, 其特征在于。
8、, 所述第一数据类型包括KeyValueMap类型, 所述第二数据类型包括 Value 类型。 11. 一种终端, 其特征在于, 包括如权利要求 6-10 任一项所述的装置。 权 利 要 求 书 CN 104281455 A 3 1/13 页 4 一种接口调用方法、 装置及终端 技术领域 0001 本发明涉及计算机技术领域, 尤其涉及一种接口调用方法、 装置及终端。 背景技术 0002 随着互联网技术的发展, 浏览器已成为移动终端上必备的应用软件之一, 用户可 通过电脑、 手机等移动终端上安装的浏览器获取互联网上的共享信息或通过浏览器分享信 息等等。 0003 通常, 浏览器提供了大量接口供客。
9、户端脚本使用或调用, 通过在网页中加载客户 端脚本, 由浏览器解释执行该客户端脚本, 可以实现网页的动态展示效果, 增强网页的交互 性。例如 : 实现页面元素的特殊显示效果、 响应用户动作、 验证表单数据等等。 0004 目前, 浏览器大多为多核浏览器, 即浏览器中包括至少两个浏览器内核。 由于每种 浏览器内核本身提供的接口有限, 为满足 Web 网页的开发需求, 开发人员需根据实际需要 开发出更多的扩展接口, 以供 Web 网页的客户端脚本调用。然而, 现有的接口函数都是基于 特定的浏览器内核开发的, 即针对某一扩展接口, 开发人员需对浏览器中的每种浏览器内 核设计一个接口函数来实现该扩展接。
10、口需要实现的功能, 每种浏览器内核只能调用针对该 内核设计的接口函数。 由于基于不同浏览器内核设计接口函数的规范不一样, 因此, 在现有 的多核浏览器的接口调用方法中, 针对不同的浏览器内核, 需调用基于不同规范设计的接 口函数, 导致接口调用过程复杂, 从而, 调用接口的效率低。 发明内容 0005 本发明实施例提供一种接口调用方法、 装置及终端, 可以提高调用接口的效率。 0006 第一方面, 本发明实施例提供一种接口调用方法, 包括 : 0007 接收多核浏览器中任一浏览器内核发送的接口调用信息, 所述接口调用信息包括 调用目标接口所需要的接口标识和参数, 所述参数的数据类型属于该浏览器。
11、内核支持的数 据类型 ; 0008 将所述参数进行格式转换, 转换后的参数的数据类型为预设的第一数据类型 ; 0009 将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函数。 0010 在第一方面的第一种可能的实现方式中, 所述将所述转换后的参数作为输入参 数, 调用所述接口标识对应的目标接口函数之后, 所述方法还包括 : 0011 获取调用所述目标接口函数后返回的输出参数, 所述输出参数的数据类型为预设 的第二数据类型 ; 0012 将所述输出参数进行格式转换, 转换后的输出参数的数据类型属于发送所述接口 调用信息的浏览器内核支持的数据类型 ; 0013 向该浏览器内核返回所。
12、述转换后的输出参数。 0014 结合上述任意一种可能的实现方式, 在第一方面的第二种可能的实现方式中, 所 述将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函数之前, 所述 说 明 书 CN 104281455 A 4 2/13 页 5 方法还包括 : 0015 根据所述接口标识, 查询预设信息库中是否存在与所述接口标识匹配的目标接口 函数 ; 0016 若是, 执行将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接 口函数的步骤。 0017 结合第一方面的第二种可能的实现方式, 在第一方面的第三种可能的实现方式 中, 所述根据所述接口标识, 查询预设信息库中是否。
13、存在与所述接口标识匹配的目标接口 函数之后, 所述方法还包括 : 0018 若否, 向发送所述接口调用信息的浏览器内核返回预设的错误信息。 0019 结合第一方面的第一种可能的实现方式, 在第一方面的第四种可能的实现方式 中, 所述第一数据类型包括 KeyValueMap 类型, 所述第二数据类型包括 Value 类型。 0020 第二方面, 本发明实施例提供一种接口调用装置, 包括 : 0021 接收模块, 用于接收多核浏览器中任一浏览器内核发送的接口调用信息, 所述接 口调用信息包括调用目标接口所需要的接口标识和参数, 所述参数的数据类型属于该浏览 器内核支持的数据类型 ; 0022 第一。
14、转换模块, 用于将所述参数进行格式转换, 转换后的参数的数据类型为预设 的第一数据类型 ; 0023 调用模块, 用于将所述转换后的参数作为输入参数, 调用所述接口标识对应的目 标接口函数。 0024 在第二方面的第一种可能的实现方式中, 所述装置还包括 : 0025 获取模块, 用于获取调用所述接口函数后返回的输出参数, 所述输出参数的数据 类型为预设的第二数据类型 ; 0026 第二转换模块, 用于将所述输出参数进行格式转换, 转换后的输出参数的数据类 型属于发送所述接口调用信息的浏览器内核支持的数据类型 ; 0027 发送模块, 用于向该浏览器内核返回所述转换后的输出参数。 0028 结。
15、合第二方面或第二方面的第一种可能的实现方式, 在第二方面的第二种可能的 实现方式中, 所述装置还包括 : 0029 查询模块, 用于根据所述接口标识, 查询预设信息库中是否存在与所述接口标识 匹配的目标接口函数 ; 0030 所述调用模块, 用于若所述预设信息库中存在与所述接口标识匹配的目标接口函 数, 将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函数。 0031 结合第二方面的第一种可能的实现方式, 在第二方面的第三种可能的实现方式 中, 所述发送模块还用于 : 0032 若所述预设信息库中不存在与所述接口标识匹配的目标接口函数, 向发送所述接 口调用信息的浏览器内核返回。
16、预设的错误信息。 0033 结合第二方面的第一种可能的实现方式, 在第二方面的第四种可能的实现方式 中, 所述第一数据类型包括 KeyValueMap 类型, 所述第二数据类型包括 Value 类型。 0034 第三方面, 本发明实施例提供一种终端, 包括如上所述的任意一种接口调用装置。 0035 实施本发明实施例, 接收多核浏览器中任一浏览器内核发送的接口调用信息, 所 说 明 书 CN 104281455 A 5 3/13 页 6 述接口调用信息包括调用目标接口所需要的接口标识和参数 ; 对接口调用信息中携带的参 数进行格式转换, 转换后的参数的数据类型为预设的第一数据类型 ; 根据转换后。
17、的参数和 接口调用信息中携带的接口标识调用接口标识对应的目标接口函数, 从而实现对接口的调 用。 采用本发明实施例, 通过对接口函数的参数进行规范化处理, 使得不同的浏览器内核调 用接口时采用相同的接口调用方式, 从而, 提高了调用接口的效率。 附图说明 0036 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中所需要使 用的附图作简单地介绍, 显而易见地, 下面描述中的附图是本发明的一些实施例, 对于本领 域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附 图。 0037 图 1 是本发明实施例提供的一种接口调用方法的流程示意图 ; 0038 。
18、图 2 是本发明实施例提供的一种接口调用方法的另一流程示意图 ; 0039 图 2a 是图 2 提供的一种设置接口的方法的流程示意图 ; 0040 图 3 是本发明实施例提供的一种接口调用装置的结构示意图 ; 0041 图 4 是本发明实施例提供的一种接口调用装置的另一结构示意图 ; 0042 图 5 是本发明实施例提供的一种接口调用装置的又一结构示意图 ; 0043 图 6 是本发明实施例提供的一种终端的结构示意图 ; 0044 图 7 是本发明实施例提供的一种接口调用装置的再一结构示意图。 具体实施方式 0045 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 。
19、整地描述, 显然, 所描述的实施例仅是本发明的一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0046 本发明实施例公开一种接口调用方法、 装置及终端, 接收多核浏览器中任一浏览 器内核发送的接口调用信息, 对接口调用信息中携带的参数进行格式转换, 其中, 转换后的 参数的数据类型为预设的第一数据类型 ; 将转换后的参数作为输入参数, 调用接口调用信 息中携带的接口标识对应的目标接口函数, 实现对接口的调用。 采用本发明实施例, 针对不 同浏览器内核调用接口的方式相同, 可以提高调用。
20、接口的效率。下面将结合附图 1- 附图 7 对本发明实施例提供的一种接口调用方法、 装置及终端分别进行详细介绍。 0047 请参见图 1, 图 1 是本发明实施例提供的一种接口调用方法的流程示意图, 在本发 明实施例中, 该方法可以包括以下步骤。 0048 S101 : 接收多核浏览器中任一浏览器内核发送的接口调用信息, 所述接口调用信 息包括调用目标接口所需要的接口标识和参数, 所述参数的数据类型属于该浏览器内核支 持的数据类型。 0049 在本发明实施例中, 该方法可以用于终端上的浏览器或类似于浏览器的产品中, 所述终端可以是计算机、 IPAD、 手机等终端, 也可以是其它智能设备, 具体。
21、的, 本发明实施例 不作任何限制。 说 明 书 CN 104281455 A 6 4/13 页 7 0050 通常, 为丰富网页的动态展示效果, 增强网页与用户的交互性, 浏览器向网页提供 了大量接口, 供网页中加载的客户端脚本调用, 浏览器解释、 执行该客户端脚本。例如 : 浏 览器接收到客户端脚本的接口调用指令时, 根据该接口调用指令携带的信息运行该信息所 指定的目标接口对应的接口函数, 从而实现相应的功能。常用的浏览器内核有 : Trident 内 核、 blink 内核、 Gecko 内核等, 为提高网页的运行效率, 目前, 浏览器大多为多核浏览器。例 如 : 猎豹浏览器采用Tride。
22、nt内核和blink内核, 属于双核浏览器, Trident内核是IE内核, 可保障良好的兼容性, 访问网购、 支付页面完全不受限制 ; blink 内核是 Chrome 内核, 具备 高速的特点, 访问网页速度更快。 0051 在多核浏览器中, 若浏览器对网页提供一个接口, 现有方法中需针对每一种浏览 器内核都设计一个与该接口所要实现的功能相同的接口函数, 不仅开发成本高, 而且由于 不同的浏览器内核对接口函数的设计规范不一样, 导致不同的浏览器内核调用接口的方式 不同, 即不同的浏览器内核针对相同的接口标识所调用的接口函数不同, 导致接口调用流 程复杂, 从而, 调用接口的效率低。 005。
23、2 本发明实施例中, 多核浏览器在解释执行网页的过程中, 多核浏览器中的任意一 个浏览器内核接收网页中加载的客户端脚本发送的接口调用指令, 该接口调用指令携带了 调用目标接口所需要的信息, 如该信息可以包括接口标识和接口标识所对应的接口函数所 需要的参数等。值得说明的是, 客户端脚本传送给浏览器内核的参数的数据类型属于客户 端脚本所支持的数据类型, 而浏览器内核所支持的数据类型通常不同于客户端脚本所支持 的数据类型, 因此, 浏览器内核接收到客户端脚本发送的接口调用指令时, 根据预设的参数 转换规则自动对接口调用指令中携带的参数进行格式转换, 经转换后的参数的数据类型为 该浏览器内核所支持的数。
24、据类型。 浏览器内核将接口调用指令所携带的接口标识和经转换 后的参数封装成接口调用信息。本发明实施例中, 接口调用装置接收多核浏览器中任一浏 览器内核发送的接口调用信息, 所述接口调用信息包括调用目标接口所需要的接口标识和 参数, 所述参数的数据类型属于该浏览器内核支持的数据类型。 0053 S102 : 将所述参数进行格式转换, 转换后的参数的数据类型为预设的第一数据类 型。 0054 针对客户端脚本的接口调用指令, 考虑到不同的浏览器内核将接口调用指令中携 带的参数进行格式转换后的参数类型不一。本发明实施例中, 从浏览器内核发送过来的接 口调用信息中解析出参数, 并对该参数再次进行格式转换。
25、, 转换后的参数的数据类型为预 设的第一数据类型。 所述第一数据类型可以接纳任何数据类型的数据, 从而, 保证不同的浏 览器内核接收到客户端脚本的接口调用指令时, 均可以通过本步骤将经不同的浏览器内核 转换后的参数转换为具有相同的数据类型的参数。 0055 S103 : 将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函 数。 0056 根据接口调用信息中包括的接口标识, 获取与该接口标识对应的目标接口函数。 从而, 将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函数。 换句话 说, 根据转换后的参数, 将该参数代入接口标识对应的目标接口函数中, 运行或执行该。
26、目标 接口函数。从而, 针对不同的浏览器内核, 采用本发明实施例后, 通过对接口函数进行规范 化处理, 不同的浏览器内核调用接口的方式相同, 换句话说, 针对相同的接口标识, 不同的 说 明 书 CN 104281455 A 7 5/13 页 8 浏览器内核调用的目标接口函数相同, 从而, 提高了接口调用的效率, 网页的执行效率也相 应的得到提高。 0057 在本发明实施例描述的接口调用方法中, 接收多核浏览器中任一浏览器内核发送 的接口调用信息, 所述接口调用信息包括调用目标接口所需要的接口标识和参数 ; 对接口 调用信息中携带的参数进行格式转换, 转换后的参数的数据类型为预设的第一数据类型。
27、 ; 根据转换后的参数和接口调用信息中携带的接口标识调用接口标识对应的目标接口函数, 从而实现对接口的调用。采用本发明实施例, 可以提高调用接口的效率。 0058 请参见图 2, 图 2 是本发明实施例提供的一种接口调用方法的另一流程示意图, 在 本发明实施例中, 该方法可以包括以下步骤。 0059 S201 : 接收多核浏览器中任一浏览器内核发送的接口调用信息, 所述接口调用信 息包括调用目标接口所需要的接口标识和参数, 所述参数的数据类型属于该浏览器内核支 持的数据类型。 0060 多核浏览器在解释执行网页的过程中, 多核浏览器中的任意一种浏览器内核接收 网页中加载的客户端脚本发送的接口调。
28、用指令, 该接口调用指令携带了调用目标接口所需 要的信息, 如该信息可以包括接口标识和接口标识所对应的接口函数所需要的参数等。值 得说明的是, 客户端脚本传送给浏览器内核的参数的数据类型属于客户端脚本所支持的数 据类型, 而浏览器内核所支持的数据类型通常不同于客户端脚本所支持的数据类型, 因此, 浏览器内核接收到客户端脚本发送的接口调用指令时, 根据预设的参数转换规则自动对接 口调用指令中携带的参数进行格式转换, 经转换后的参数的数据类型为浏览器内核所支持 的数据类型。 浏览器内核将接口调用指令所携带的接口标识和经转换后的参数封装成接口 调用信息。 0061 例如 : 由于 Trident 内。
29、核对设计接口函数的规范为 HRESULT InterfaceFunti on( DISPPARAMS*pDispParams,VARIANT*pVarResult,EXCEPINFO*pExcepI nfo), 因此, Trident 内核接收到客户端脚本的接口调用指令后, 将接口调用指令所携带的参数转换为数据类型 分别为 “DISPPARAMS*” 、“VARIANT*” 和 “E XCEPINFO*” 的参数 ; 而 Chrome 内核对设计接口 函数的规范为 void Interface Funtion(const v8:FunctionCallbackInfo& args), 因此, 。
30、Chrome 内核接收到客户端脚本的接口调用指令后, 将接口调用指令所携带的 参数转换为数据类型为 “v8:FunctionCallbackInfo” 的参数。 0062 本发明实施例中, 接口调用装置接收多核浏览器中任一浏览器内核发送的接口调 用信息, 所述接口调用信息包括调用目标接口所需要的接口标识和参数, 所述参数的数据 类型属于所述浏览器内核支持的数据类型。 例如 : 若所述浏览器内核为Trident内核, 则接 口调用信息中的参数的数据类型分别为 “DISPPARAMS*” 、“VARIANT*” 和 “EXCEPINFO*” 类 型 ; 若所述浏览器内核为 Chrome 内核, 则。
31、接口调用信息中的参数的数据类型为 “v8:Funct ionCallbackInfo” 类型。 0063 S202 : 将所述参数进行格式转换, 转换后的参数的数据类型为预设的第一数据类 型。 0064 针对客户端脚本的接口调用指令, 考虑到不同的浏览器内核将接口调用指令中携 带的参数进行格式转换后的参数类型不一。本发明实施例中, 从浏览器内核发送过来的接 口调用信息中解析出参数, 并对该参数再次进行格式转换, 转换后的参数的数据类型为预 说 明 书 CN 104281455 A 8 6/13 页 9 设的第一数据类型。其中, 所述第一数据类型可以是预先定义的用于接纳任何类型数据的 数据类型,。
32、 也可以是编程语言自带的数据库中的通用数据类型, 该数据类型可以接收任何 数据类型的数据。例如 : KeyValueMap 类型, 具体的, 本发明实施例不作限制。为方便说明, 本发明实施例以第一数据类型为 KeyValueMap 类型为例, 但应当说明的是, 并不能以此限 制第一数据类型。 0065 KeyValueMap 是一种数据类型, 该类型像储物箱一样, 可以用来保存多种不 同类型的数据, 例如 : 整数、 浮点数、 字符串等等。具体的, KeyValueMap 是一种键 - 值 (Key-Value) 映射表, 该映射表中保存了键 (Key) 和值 (Value) 的一一对应关系,。
33、 键 (Key) 可以是数字 ( 参数的顺序 ) 或字符串 ( 参数的名称 ), 值 (Value) 是参数中对应某个键 的具体值。为方便说明, 假设客户端脚本欲调用一个添加网页历史记录的接口, 这个接口 需要传入网页的网址 (url, 假定为 http:) 和访问的时间 (time, 假定为 2014-07-2020:00:00), 根据步骤 S202 对参数进行格式转换后, 得到转换后的 KeyValueMap 参数可以如表 1 所示, 表 1 是本发明实施例提供的一种第一数据类型的示意。 0066 表 1 0067 0068 由于步骤 S202 在浏览器内部实现, 转换参数的速度快, 且。
34、比使用脚本实现的转换 器效率高。 从而, 保证不同的浏览器内核接收到客户端脚本的接口调用指令后, 均可以通过 本步骤将经浏览器内核转换后的参数转换为具有相同的数据类型的参数, 对接口函数的输 入参数的数据类型实现了统一, 因此, 开发人员针对多核浏览器开发一套接口时只需设计 一个接口函数。 0069 S203 : 根据所述接口标识, 查询预设信息库中是否存在与所述接口标识匹配的接 口函数。 0070 通常, 开发人员开发出一套接口后, 将该接口的相关信息保存在预设信息库中, 其 中, 接口的相关信息包括接口标识和接口函数, 所述接口标识可以是接口名称。 若开发人员 已针对浏览器提供了接口调用信。
35、息所指定的目标接口, 则由接口调用信息中携带的接口标 识可以在预设的信息库中查找到一个唯一的与该接口标识匹配的接口函数。 本发明实施例 中, 根据接口调用信息中携带的接口标识, 查询预设信息库中是否存在与所述接口标识匹 配的接口函数。若存在, 说明浏览器提供该接口标识所指定的目标接口, 执行步骤 S204, 根 据转换后的参数运行查找到的接口函数 ; 若不存在, 说明浏览器不提供该目标接口, 则执行 步骤 S208, 向发送接口调用信息的浏览器内核返回预设的错误信息。 0071 值得说明的是, 本发明实施例中, 步骤S202和步骤S203并不受执行先后顺序的限 制, 可以是根据步骤S202对接。
36、口调用信息中的参数进行格式转换之后, 再根据步骤S203查 说 明 书 CN 104281455 A 9 7/13 页 10 询预设信息库中是否存在与接口调用信息中的接口标识匹配的接口函数 ; 也可以是根据步 骤 S203 查询预设信息库中是否存在与接口调用信息中的接口标识匹配的接口函数之后, 若存在与接口标识匹配的接口函数, 则再根据步骤 S202 对接口调用信息中的参数进行格 式转换。具体的, 本发明实施例不作限制。 0072 S204 : 将所述转换后的参数作为输入参数, 调用接口标识对应的目标接口函数。 0073 步骤 S203 若查询到预设信息库中存在与接口标识匹配的目标接口函数, 。
37、则将步 骤 S202 中转换后的参数作为所查找到的目标接口函数的输入参数, 调用该目标接口函数。 换句话说, 根据转换后的参数, 将该参数代入所查找到的目标接口函数中, 运行或执行所查 找到的目标接口函数。从而, 针对不同的浏览器内核, 采用本发明实施例后, 可以采用统一 的规范调用接口函数, 不同的浏览器内核调用接口的方式相同, 调用接口的效率高, 从而, 网页的执行效率也得到提高。 0074 S205 : 获取调用所述目标接口函数后返回的输出参数, 所述输出参数的数据类型 为预设的第二数据类型。 0075 根据转换后的参数调用目标接口对应的目标接口函数后, 获取调用所述目标接口 函数后返回。
38、的输出参数, 所述输出参数的数据类型为预设的第二数据类型。 其中, 所述第二 数据类型可以是预先定义的用于接纳任何类型数据的数据类型, 也可以是编程语言自带的 数据库中的通用数据类型, 该数据类型可以接收任何数据类型的数据。例如 : Value 类型, 具体的, 本发明实施例不作限制。从而, 开发人员针对不同的浏览器内核开发一套接口时, 只需设计一个接口函数, 而无需针对不同的浏览器内核分别设计一个接口函数, 减少开发 成本。 0076 S206 : 将所述输出参数进行格式转换, 转换后的输出参数的数据类型属于发送所 述接口调用信息的浏览器内核支持的数据类型。 0077 例如 : 若浏览器内核。
39、是Trident内核, 则将目标接口函数返回的Value型输出参数 转换为 “VARIANT*” 类型的数据 ; 若浏览器内核是 Chrome 内核, 则将目标接口函数返回的 Value 型输出参数转换为 “v8:FunctionCallbackInfo” 类型的数据。 0078 S207 : 向该浏览器内核返回所述转换后的输出参数。 0079 将转换后的输出参数返回给发送接口调用信息的浏览器内核, 从而, 使浏览器内 核将执行目标接口函数后返回的输出参数进一步地返回给客户端脚本。 0080 S208 : 向发送所述接口调用信息的浏览器内核返回预设的错误信息。 0081 步骤 S203 若查询。
40、到预设信息库中不存在与接口标识匹配的接口函数, 说明浏览 器不提供接口调用信息中的接口标识, 则向发送所述接口调用信息的浏览器内核发送预设 的错误信息。 0082 在本发明实施例描述的接口调用方法中, 接收多核浏览器中任一浏览器内核发送 的接口调用信息, 所述接口调用信息包括调用目标接口所需要的接口标识和参数 ; 对接口 调用信息中携带的参数进行格式转换, 转换后的参数的数据类型为预设的第一数据类型 ; 根据转换后的参数和接口调用信息中携带的接口标识调用目标接口对应的接口函数, 从而 实现对接口的调用。采用本发明实施例, 可以提高接口调用的效率。 0083 值得说明的是, 在上述实施例中, 根。
41、据步骤 S203 查询预设信息库中是否存在与所 述接口标识匹配的接口函数之前, 还可以预先设置接口及与该接口对应的接口函数, 将接 说 明 书 CN 104281455 A 10 8/13 页 11 口信息保存至预设信息库中, 所述接口信息包括接口标识和接口函数。 具体的, 可以如图2a 所示, 图 2a 是图 2 提供的一种设置接口的方法的流程示意图, 该方法可以包括以下步骤。 0084 S203a : 预先设置接口标识和与该接口标识匹配的接口函数, 所述接口函数的输入 参数的数据类型为所述第一数据类型, 所述接口函数的输出参数的数据类型为所述第二数 据类型。 0085 根据接口需要实现的功。
42、能设计接口函数, 其中, 接口函数的输入参数的数据类型 可以为第一数据类型, 输出参数的类型可以为第二数据类型。 为方便说明, 假设第一数据类 型为KeyValueMap类型, 第二数据类型为Value类型, 则本发明实施例中设计接口函数的规 范为 Value InterfaceFunction(KeyValueMap), KeyValueMap 用于传递接口参数, 接口函 数从这里读取脚本传递的参数 ; Value 用于返回参数给脚本 ; InterfaceFunction 为函数名 称, 代码中也表示为函数地址, 使用它和接口标识关联。另, 接口函数的函数体部分需根据 该接口函数要实现的功。
43、能具体而定, 本发明实施例不作限制。 0086 S203b : 将所述接口标识和与该接口标识匹配的接口函数保存至预设信息库中。 0087 为方便说明, 假设预设信息库中存储的接口信息如表2所示, 表2是本发明实施例 提供的其中一种预设信息库的存储结构示意。 0088 表 2 0089 接口标识接口函数 recordHistoryValue RecordHistory(KeyValueMap) downloadUrlValue DownloadUrl(KeyValueMap) playAudioValue PlayAudio(KeyValueMap) 0090 从而, 开发人员针对不同的浏览器内。
44、核开发一套接口时, 只需设计一个接口函数, 而无需针对不同的浏览器内核分别设计一个接口函数, 减少开发成本。且由于规范了浏览 器对接口设计的方式, 浏览器内核调用接口的方式也得到了统一, 从而, 提高了调用接口的 效率。 0091 下面为本发明装置实施例, 本发明装置实施例与本发明方法实施例属于同一构 思, 用于执行本发明方法实施例中描述的方法。 为了便于说明, 本发明装置实施例仅示出与 本发明装置实施例相关的部分, 具体技术细节未揭示的, 请参照本发明方法实施例的描述, 此处不再一一赘述。 0092 请参见图 3, 图 3 是本发明实施例提供的一种接口调用装置的结构示意图, 在本发 明实施例。
45、中, 该装置可以包括 : 接收模块 101、 第一转换模块 102 和调用模块 103。 0093 接收模块 101, 用于接收多核浏览器中任一浏览器内核发送的接口调用信息, 所述 接口调用信息包括调用目标接口所需要的接口标识和参数, 所述参数的数据类型属于该浏 览器内核支持的数据类型。 0094 第一转换模块 102, 用于将所述参数进行格式转换, 转换后的参数的数据类型为预 设的第一数据类型。 0095 调用模块 103, 用于将所述转换后的参数作为输入参数, 调用所述接口标识对应的 说 明 书 CN 104281455 A 11 9/13 页 12 目标接口函数。 0096 在本发明实施。
46、例描述的接口调用装置中, 接收多核浏览器中任一浏览器内核发送 的接口调用信息, 所述接口调用信息包括调用目标接口所需要的接口标识和参数 ; 对接口 调用信息中携带的参数进行格式转换, 转换后的参数的数据类型为预设的第一数据类型 ; 根据转换后的参数和接口调用信息中携带的接口标识调用目标接口对应的接口函数, 从而 实现对接口的调用。采用本发明实施例, 可以提高调用接口的效率。 0097 请参见图 4, 图 4 是本发明实施例提供的一种接口调用装置的另一结构示意图, 在 本发明实施例中, 该装置可以包括 : 接收模块 201、 第一转换模块 202、 调用模块 203、 获取模 块 204、 第二。
47、转换模块 205、 发送模块 206 和查询模块 207。 0098 接收模块 201, 用于接收多核浏览器中任一浏览器内核发送的接口调用信息, 所述 接口调用信息包括调用目标接口所需要的接口标识和参数, 所述参数的数据类型属于该浏 览器内核支持的数据类型。 0099 第一转换模块 202, 用于将所述参数进行格式转换, 转换后的参数的数据类型为预 设的第一数据类型。 0100 调用模块 203, 用于将所述转换后的参数作为输入参数, 调用所述接口标识对应的 目标接口函数。 0101 获取模块 204, 用于获取调用所述接口函数后返回的输出参数, 所述输出参数的数 据类型为预设的第二数据类型。。
48、 0102 第二转换模块 205, 用于将所述输出参数进行格式转换, 转换后的输出参数的数据 类型属于发送所述接口调用信息的浏览器内核支持的数据类型。 0103 发送模块 206, 用于向该浏览器内核返回所述转换后的输出参数。 0104 查询模块 207, 用于根据所述接口标识, 查询预设信息库中是否存在与所述接口标 识匹配的目标接口函数 . 0105 优选的, 调用模块 203, 用于若所述预设信息库中存在与所述接口标识匹配的目标 接口函数, 将所述转换后的参数作为输入参数, 调用所述接口标识对应的目标接口函数。 0106 优选的, 发送模块 206 还用于 : 0107 若所述预设信息库中。
49、不存在与所述接口标识匹配的目标接口函数, 向发送所述接 口调用信息的浏览器内核返回预设的错误信息。 0108 作为一种可选的实施方式, 所述第一数据类型包括 KeyValueMap 类型, 所述第二 数据类型包括 Value 类型。 0109 在另一种实现方式中, 该接口调用装置还可以包括预设模块, 用于 : 0110 预先设置接口标识和与该接口标识匹配的接口函数, 所述接口函数的输入参数的 数据类型为所述第一数据类型, 所述接口函数的输出参数的数据类型为所述第二数据类 型 ; 0111 将所述接口标识和与该接口标识匹配的接口函数保存至预设信息库中。 0112 在本发明实施例描述的接口调用装置中, 接收多核浏览器中任一浏览器内核发送 的接口调用信息, 所述接口调用信息包括调用目标接口所需要的接口标识和参数。