用于网页调用本地功能的方法、电子设备和存储介质技术

技术编号:26763088 阅读:17 留言:0更新日期:2020-12-18 23:20
本公开的实施例涉及用于网页调用本地功能的方法、电子设备和计算机存储介质,涉及信息处理领域。根据该方法,响应于第一网页视图组件开始实例化,在其运行环境中注入脚本,以得到第一桥接对象;响应于来自网页的包括模块标识、模块参数和第一回调的第一调用被触发,第一桥接对象为第一回调分配回调标识;第一桥接对象基于回调标识、模块标识和模块参数,触发第二调用;响应于第二调用被触发,本地模块管理组件基于模块参数调用本地功能模块,以获得处理结果;本地模块管理组件基于处理结果和回调标识触发第三调用;以及响应于第三调用被触发,第一桥接对象基于处理结果触发第一回调。由此,能够提高网页调用本地功能的迁移性和兼容性。

【技术实现步骤摘要】
用于网页调用本地功能的方法、电子设备和存储介质
本公开的实施例总体涉及信息处理领域,具体涉及用于网页调用本地功能的方法、电子设备和计算机存储介质。
技术介绍
诸如H5页面的网页运行于移动端的网页视图组件中,因为网页视图组件本身的封装性,运行于其中的H5页面亦将受到限制,无法触达只有原生开发才能触及的底层接口,及底层数据,或共享数据,也无法感知应用内部发生了哪些关键事件(前后台切换,页面栈变化等)。
技术实现思路
提供了一种用于网页调用本地功能的方法、电子设备以及计算机存储介质,能够提高网页调用本地功能的迁移性和兼容性。根据本公开的第一方面,提供了一种用于网页调用本地功能的方法。该方法包括:响应于第一网页视图组件开始实例化,在第一网页视图组件的运行环境中注入第一编程语言脚本,以得到第一桥接对象;响应于来自第一网页的包括功能模块标识、模块参数和第一回调的第一调用被触发,第一桥接对象为第一回调分配回调标识;第一桥接对象基于回调标识、功能模块标识和模块参数,按照预定格式触发第二调用;响应于第二调用被触发,本地模块管理组件基于模块参数调用与功能模块标识相关联的本地功能模块进行处理,以获得处理结果;本地模块管理组件基于处理结果和回调标识触发第三调用;以及响应于第三调用被触发,第一桥接对象基于处理结果触发与回调标识相关联的第一回调。根据本公开的第二方面,提供了一种电子设备。该电子设备包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据第一方面所述的方法。在本公开的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素。图1是根据本公开的实施例的信息处理环境100的示意图。图2是根据本公开的实施例的用于网页调用本地功能的方法200的示意图。图3是根据本公开的实施例的用于本地模块管理组件基于模块参数调用与功能模块标识相关联的本地功能模块进行处理的方法300的示意图。图4是根据本公开的实施例的原生端、第一桥接对象和H5页面之间的交互时序400的示意图。图5是用来实现本公开实施例的用于网页调用本地功能的方法的电子设备的框图。具体实施方式以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如上所述,H5页面由于受限于应用端网页视图组件能力的限制,在未加改造的情况下,H5能做的事情比较有限,无法实现复杂业务场景。如何把这些繁杂的功能需求抽象成统一的、简单的一组接口,同时保证可迁移性、兼容性和扩展性,使得H5的开发者能够快速的迭代复杂业务是迫切要解决的技术问题。为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于网页调用本地功能的方案。在该方案中,响应于第一网页视图组件开始实例化,在第一网页视图组件的运行环境中注入第一编程语言脚本,以得到第一桥接对象;响应于来自第一网页的包括功能模块标识、模块参数和第一回调的第一调用被触发,第一桥接对象为第一回调分配回调标识;第一桥接对象基于回调标识、功能模块标识和模块参数,按照预定格式触发第二调用;响应于第二调用被触发,本地模块管理组件基于模块参数调用与功能模块标识相关联的本地功能模块进行处理,以获得处理结果;本地模块管理组件基于处理结果和回调标识触发第三调用;以及响应于第三调用被触发,第一桥接对象基于处理结果触发与回调标识相关联的第一回调。以此方式,能够提高网页调用本地功能的迁移性和兼容性。在下文中,将结合附图更详细地描述本方案的具体示例。图1示出了根据本公开的实施例的信息处理环境100的示例的示意图。信息处理环境100可以包括计算设备110。计算设备110例如包括但不限于个人计算机、台式计算机、膝上型计算机、智能手机、个人数字助理等。计算设备110可以运行混合应用,混合应用可以包括一个或多个处理单元,例如包括但不限于第一网页111,第一网页视图组件112,本地模块管理组件113和本地功能模块114。本地模块管理组件113和本地功能模块114位于本地或者原生(native)端,其例如是通过本地或原生的编程语言(例如Java/Objective-C)实现的模块。关于第一网页111,其例如为H5网页,第一网页111中可以包括诸如javascript的脚本。关于第一网页视图组件112,其例如为webview(安卓系统)或者UIWebview或WKWebview(IOS系统)等。本地或原生端可以在第一网页视图组件112开始实例化之后,向第一网页视图组件112的运行环境中注入第一编程语言脚本115,例如js脚本,以得到第一桥接对象116。得到第一桥接对象116之后,网页端和本地或原生端可以通过第一桥接对象进行通信或调用。例如,第一网页111可用于触发包括功能模块标识、模块参数和第一回调的第一调用,以便调用本地功能获取相关数据。第一桥接对象116可用于响应于来自第一网页111的包括功能模块标识、模块参数和第一回调的第一调用被触发,为第一回调分配回调标识;以及基于回调标识、功能模块标识和模块参数,按照预定格式触发第二调用。预定格式例如包括但不限于预定URL格式。关于本地模块管理组件113,其可用于响应于第二调用被触发,基于模块参数调用与功能模块标识相关联的本地功能模块进行处理,以获得处理结果;基于处理结果和回调标识触发第三调用。关于本地功能模块114,其可用于基于模块参数执行相关逻辑。第一桥接对象116还可以用于响应于第三调用被触发,基于处理结果触发与回调标识相关联的第一回调。由此,能够提高网页调用本地功能的迁移性和兼容性。图2示出了根据本公开的实施例的用于网页调用本地功能的方法200的流程图。例如,方法200可以由如图1所本文档来自技高网...

【技术保护点】
1.一种用于网页调用本地功能的方法,包括:/n响应于第一网页视图组件开始实例化,在所述第一网页视图组件的运行环境中注入第一编程语言脚本,以得到第一桥接对象;/n响应于来自第一网页的包括功能模块标识、模块参数和第一回调的第一调用被触发,所述第一桥接对象为所述第一回调分配回调标识;/n所述第一桥接对象基于所述回调标识、所述功能模块标识和所述模块参数,按照预定格式触发第二调用;/n响应于所述第二调用被触发,本地模块管理组件基于所述模块参数调用与所述功能模块标识相关联的本地功能模块进行处理,以获得处理结果;/n所述本地模块管理组件基于所述处理结果和所述回调标识触发第三调用;以及/n响应于所述第三调用被触发,所述第一桥接对象基于所述处理结果触发与所述回调标识相关联的第一回调。/n

【技术特征摘要】
1.一种用于网页调用本地功能的方法,包括:
响应于第一网页视图组件开始实例化,在所述第一网页视图组件的运行环境中注入第一编程语言脚本,以得到第一桥接对象;
响应于来自第一网页的包括功能模块标识、模块参数和第一回调的第一调用被触发,所述第一桥接对象为所述第一回调分配回调标识;
所述第一桥接对象基于所述回调标识、所述功能模块标识和所述模块参数,按照预定格式触发第二调用;
响应于所述第二调用被触发,本地模块管理组件基于所述模块参数调用与所述功能模块标识相关联的本地功能模块进行处理,以获得处理结果;
所述本地模块管理组件基于所述处理结果和所述回调标识触发第三调用;以及
响应于所述第三调用被触发,所述第一桥接对象基于所述处理结果触发与所述回调标识相关联的第一回调。


2.根据权利要求1所述的方法,其中所述本地模块管理组件基于所述模块参数调用与所述功能模块标识相关联的所述本地功能模块进行处理包括:
所述本地模块管理组件基于功能模块标识与本地功能模块标识之间的关联,确定与所述功能模块标识相关联的本地功能模块标识;
所述本地模块管理组件对与确定的所述本地功能模块标识相关联的本地功能模块进行实例化,以得到第一实例;
所述本地模块管理组件向所述第一实例传递所述模块参数,以便所述第一实例基于所述模块参数进行处理;以及
所述本地模块管理组件从所述第一实例获取所述处理结果。


3.根据权利要求1所述的方法,还包括:
响应于检测到网页到本地功能的跳转意图,所述第一网页视图组件向跳转插件管理组件发送所述跳转意图;
所述跳转插件管理组件从已注册的多个跳转插件确定与所述跳转意图相匹配的跳转插件;
所述跳转插件管理组件获取与所述第一网页视图组件相关联的上下文;以及
所述跳转插件管理组件基于所述上下文实例化所确定的所述跳转插件。


4.根据权利要求3所述的方法,其中所述跳转插件管理组件确定与所述跳转意图相匹配的所述跳转插件包括:
从已注册的多个跳转规则中确定与所述跳转意图相匹配的跳转规则;以及

【专利技术属性】
技术研发人员:常建龙陈延平徐豪
申请(专利权)人:南京研利科技有限公司上海收钱吧互联网科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1