页面端与原生端的通信方法、装置、设备及可读介质制造方法及图纸

技术编号:25041052 阅读:20 留言:0更新日期:2020-07-29 05:32
本申请实施例提供了一种页面端与原生端的通信方法、装置、电子设备及计算机可读介质。其中,所述方法包括:确定在所述页面端产生的第一业务触发事件的第一功能调用信息;基于所述第一功能调用信息,生成第一页面跳转请求;基于所述第一页面跳转请求,以在所述原生端中调用所述第一功能调用信息指示的第一功能模块。通过本申请实施例,能够提供方便于页面端与原生端通信的通用方法。

【技术实现步骤摘要】
页面端与原生端的通信方法、装置、设备及可读介质
本申请实施例涉及互联网
,尤其涉及一种页面端与原生端的通信方法、装置、电子设备及计算机可读介质。
技术介绍
随着移动互联网技术的发展和智能移动终端的普及,移动互联网在生活中的重要性越来越明显,移动端的应用程序的开发也越来越重要,目前移动端的应用程序主要采用混合型开发模式,即同时采用网页语言和程序语言进行编写,通过应用商店区分操作系统,分发用户需要安装的应用程序。因混合开发的应用程序,兼具了良好的用户体验和较低的开发成本低,越来越受到开发者的喜爱。目前,在安卓设备上,应用程序中的脚本代码与原生代码的通信需要通过网络视图来实现。具体地,首先调用应用程序接口使网络视图支持脚本代码中的功能,然后再调用应用程序接口向网络视图注册一个可供脚本代码调用的方法类,以用于增强脚本代码的功能。然而,android4.2之前的系统版本没有对类方法的调用的限制,导致攻击者可以利用反射机制调用未注册的其它任何类方法,最终导致脚本代码的能力的无限增强。攻击者利用该漏洞可以根据客户端能力为所欲为。因此,应用程序中的脚本代码与原生代码的通信需要对原生代码的系统版本进行兼容。这样,应用程序中的脚本代码与原生代码的通信受到原生端代码的版本或平台的限制。此外,脚本代码与原生代码的其它通信方式基本占用脚本代码的原生通道,不仅需要对原生代码的系统版本进行兼容,而且还会影响原生通道的功能。
技术实现思路
本申请的目的在于提出一种页面端与原生端的通信方法、装置、电子设备及计算机可读介质,用于解决现有技术中存在的如何方便于页面端与原生端通信的问题。根据本申请实施例的第一方面,提供了一种页面端与原生端的通信方法。所述方法包括:确定在所述页面端产生的第一业务触发事件的第一功能调用信息;基于所述第一功能调用信息,生成第一页面跳转请求;基于所述第一页面跳转请求,以在所述原生端中调用所述第一功能调用信息指示的第一功能模块。根据本申请实施例的第二方面,提供了一种页面端与原生端的通信方法。所述方法包括:确定在所述原生端产生的第三业务触发事件的第三功能调用信息;将所述第三功能调用信息传入所述页面端,以在所述页面端中调用所述第三功能调用信息指示的第三功能模块。根据本申请实施例的第三方面,提供了一种页面端与原生端的通信装置。所述装置包括:第一确定模块,用于确定在所述页面端产生的第一业务触发事件的第一功能调用信息;第一生成模块,用于基于所述第一功能调用信息,生成第一页面跳转请求;第一调用模块,用于基于所述第一页面跳转请求,以在所述原生端中调用所述第一功能调用信息指示的第一功能模块。根据本申请实施例的第四方面,提供了一种页面端与原生端的通信装置。所述装置包括:第二确定模块,用于确定在所述原生端产生的第三业务触发事件的第三功能调用信息;第三调用模块,用于将所述第三功能调用信息传入所述页面端,以在所述页面端中调用所述第三功能调用信息指示的第三功能模块。根据本申请实施例的第五方面,提供了一种电子设备,包括:一个或多个处理器;计算机可读介质,配置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例的第一方面或第二方面所述的页面端与原生端的通信方法。根据本申请实施例的第六方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例的第一方面或第二方面所述的页面端与原生端的通信方法。通过本申请实施例提供的技术方案,确定在页面端产生的第一业务触发事件的第一功能调用信息,并基于第一功能调用信息,生成第一页面跳转请求,再基于第一页面跳转请求,以在原生端中调用第一功能调用信息指示的第一功能模块,与现有的其它方式相比,通过页面跳转请求在原生端中调用功能调用信息指示的功能模块,页面端与原生端的通信不受到原生端的版本或平台的限制,并且还不会影响页面端的原生通道的功能,从而方便于页面端与原生端的通信。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本申请实施例一中页面端与原生端的通信方法的步骤流程图;图2为本申请实施例二中页面端与原生端的通信方法的步骤流程图;图3为本申请实施例三中页面端与原生端的通信方法的步骤流程图;图4为本申请实施例四中页面端与原生端的通信方法的步骤流程图;图5为本申请实施例五中页面端与原生端的通信装置的结构示意图;图6为本申请实施例六中页面端与原生端的通信装置的结构示意图;图7为本申请实施例七中页面端与原生端的通信装置的结构示意图;图8为本申请实施例八中页面端与原生端的通信装置的结构示意图;图9为本申请实施例九中电子设备的结构示意图;图10为本申请实施例十中电子设备的硬件结构。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅配置为解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。参照图1,示出了本申请实施例一的页面端与原生端的通信方法的步骤流程图。本实施例从页面端的角度,对本申请实施例提供的页面端与原生端的通信方法进行说明。具体地,本实施例的页面端与原生端的通信方法包括以下步骤:在步骤S101中,确定在所述页面端产生的第一业务触发事件的第一功能调用信息。在本申请实施例中,所述页面端可理解为采用JavaScript脚本语言开发应用程序的页面的脚本代码的统称,所述原生端可理解为采用Objective-C语言开发的IOS系统应用程序的原生代码的统称,或者采用Java语言开发的Android系统应用程序的原生代码的统称。在同一个应用程序中,可以存在部分功能由JavaScript脚本语言开发,部分功能由Java语言或Objective-C语言开发。因此,所述原生端和所述页面端可以存在于同一应用程序中。应用程序的Android系统提供了原生端与页面端交互的接口,应用程序的IOS系统也提供了原生端与页面端交互的接口。所述页面端与原生端的通信装置可以是页面端,也可以是浏览器应用,还可以是音视频播放器应用、即时通讯应用、购物应用,等。可以理解的是,以上描述仅为示例性的,本申请实施例对此不做任何限定。在本申请实施例中,所述第一业务触发事件可为用户点击特定按钮、打开本地某一文件夹、启用陀螺仪、启用气压感应、启用摄像头、启用麦克风等硬件或者启用原生端实现的功能等。所述第一功能调用信息包括以下中的至少一者:所述第一功能模块的名称、所述第一功能模块的参数、用于回调所述第一功能模块的功能执行结果的功能回调函数。其中,所述第一功能模块可为执行文件打开方法的功能模块、执行文本文档来自技高网...

【技术保护点】
1.一种页面端与原生端的通信方法,其特征在于,所述方法包括:/n确定在所述页面端产生的第一业务触发事件的第一功能调用信息;/n基于所述第一功能调用信息,生成第一页面跳转请求;/n基于所述第一页面跳转请求,以在所述原生端中调用所述第一功能调用信息指示的第一功能模块。/n

【技术特征摘要】
1.一种页面端与原生端的通信方法,其特征在于,所述方法包括:
确定在所述页面端产生的第一业务触发事件的第一功能调用信息;
基于所述第一功能调用信息,生成第一页面跳转请求;
基于所述第一页面跳转请求,以在所述原生端中调用所述第一功能调用信息指示的第一功能模块。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述原生端传回的所述第一功能模块的功能执行结果;
通过所述第一业务触发事件的功能回调函数,回调接收到的所述功能执行结果。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述原生端传入的第二业务触发事件的第二功能调用信息;
调用所述第二功能调用信息指示的第二功能模块;
将所述第二功能模块的功能执行结果回调至所述原生端。


4.根据权利要求3所述的方法,其特征在于,所述调用所述第二功能调用信息指示的第二功能模块,包括:
通过脚本代码中用于计算字符串并执行所述字符串对应的脚本代码的函数,调用所述第二功能调用信息指示的第二功能模块。


5.根据权利要求3所述的方法,其特征在于,所述将所述第二功能模块的功能执行结果回调至所述原生端,包括:
基于所述第二功能模块的功能执行结果,生成第二页面跳转请求;
基于所述第二页面跳转请求,以将所述第二功能模块的功能执行结果回调至所述原生端。


6.根据权利要求1-5中任意一项权利要求所述的方法,其特征在于,所述第一功能调用信息包括以下中的至少一者:
所述第一功能模块的名称、所述第一功能模块的参数、用于回调所述第一功能模块的功能执行结果的功能回调函数。


7.一种页面端与原生端的通信方法,其特征在于,所述方法包括:
确定在所述原生端产生的第三业务触发事件的第三功能调用信息;
将所述第三功能调用信息传入所述页面端,以在所述页面端中调用所述第三功能调用信息指示的第三功能模块。


8.根据权利要求7所述的方法,其特征在于,所述将所述第三功能调用信息传入所述页面端,包括:
通过脚本代码注入的方式,将所述第三功能调用信息传入所述页面端。


9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在检测到所述页面端发送的第三页面跳转请求满足预设规则时,拦截所述第三页面跳转请求,并解析出所述第三页面跳转请求携带的所述第三功能模块的功能执行结果,所述第三页面跳转请求用于回调所述第三功能模块的功能执行结果;
通过所述第三业务触发事件的功能回调接口,回调接收到的所述功能执行结果。


10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在检测到所述页面端发送的第四页面跳转请求满足预设规则时,拦截所述第四页面跳转请求,并解析出所述第四页面跳转请求携带的所述第四功能调用信息,所述第四页面跳转请求用于调用第四功能调用信息指示的第四功能模块;
调用所述第四功能调用信息指示的第四功能模块;
将所述第四功能模块的功能执行结果回调至所述页面端。


11.根据权利要求10所述的方法,其特征在于,所述调用所述第四功能调用信息指示的第四功能模块,包括:
反射调用所述第四功能调用信息指示的第四功能模块。


12.根据权利要求10所述的方法,其特征在于,所述将所述第四功能模块的功能执行结果回调至所述页面端,包括:
通过脚本代码注入的方式,将所述第四功能模块的功能执行结果传入所述页面端。


13.根据权利要求7-12中任意一项权利要求所述的方法,其特征在于,所述第三功能调用信息包括以下中的至少一者:
所述第三功能模块的名称、所述第三功能模块的参数、用于回调所述第三功能模块的功能执行结果的功能回调接口。


14.一种页面端与原生端的通信装置,其特征在于,所述装置包括:
第一确定模块,用于确定在所述页面端产生的第一业务触发事件的第一功能调用信息;
第一生成模块,用于基于所述第一功能调用信息,生成第一页面跳转请求;
第一调用模块,用于基于所述第一页面跳转请求,以在所述原生端中调用所述第一...

【专利技术属性】
技术研发人员:王亚军
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1