CN109062626A - Web页面组件与Native组件的交互方法、装置及设备 - Google Patents
Web页面组件与Native组件的交互方法、装置及设备 Download PDFInfo
- Publication number
- CN109062626A CN109062626A CN201810745570.1A CN201810745570A CN109062626A CN 109062626 A CN109062626 A CN 109062626A CN 201810745570 A CN201810745570 A CN 201810745570A CN 109062626 A CN109062626 A CN 109062626A
- Authority
- CN
- China
- Prior art keywords
- native
- component
- web page
- default
- function
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供的一种Web页面组件与Native组件的交互方法、装置及设备,应用于采用iOS***的移动终端,通过Web页面组件调用预设invoke函数,得到预设回调函数,并生成包含预设回调函数对应的Native函数名的自定义URL请求。将自定义URL请求发送至Native组件。由Native组件解析自定义URL请求,得到Native函数名。基于Native函数名,调用Native函数,得到Native函数的返回值。按照Web页面语言将Native函数的返回值封装为返回数据,并将返回数据返回至Web页面。Web页面解析返回数据,得到返回值。实现了Web页面组件与Native组件的交互。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种Web页面组件与Native组件的交互方法、装置及设备。
背景技术
随着移动互联网技术的发展,移动终端上安装的各类App(Application,应用程序)为人们的生活、工作带来极大便利。在开发移动终端中的App时,由于移动终端的开发环境限制以及人机交互需求,不仅要采用网页语言以实现基于Web(网页)页面组件的跨平台开发效果,还要采用移动终端***的开发语言以实现Native组件的人机交互效果。
相应的,由于采用两种语言开发,移动终端上安装的App会存在Web页面组件与Native组件的交互。例如,某购物App中的商品详情页面为Native组件,而商品搜索结果页面或者商品推荐页面为Web页面组件。当用户点击商品搜索结果页面或者商品推荐页面中的某一商品时,将跳转至该商品的商品详情页,此时,Web页面组件要通过调用Native组件采用的函数才能实现页面跳转,Web页面组件实现对Native组件所采用函数的调用,就是Web页面组件和Native组件的交互。
由于移动终端上安装的App依靠移动终端的***实现运行,因此,通常情况下,移动终端***的开发商会提供Web页面组件与Native组件的交互API(ApplicationProgramming Interface,应用程序编程接口),Web页面组件可以通过这个API直接调用Native组件所采用的函数,从而实现与Native组件的交互。但是,部分移动终端所采用的***,并没有开发商提供的Web页面组件与Native组件的交互API。因此,如何实现Web页面组件与Native组件的交互,依然是App开发中需要解决的问题。
发明内容
本发明实施例的目的在于提供一种Web页面组件与Native组件的交互方法、装置及设备,以实现iOS***上安装的App中,Web页面组件和Native组件的交互。具体技术方案如下:
第一方面,本发明实施例提供了一种Web页面组件与Native组件的交互方法,应用于采用iOS***的移动终端,该方法包括:
Web页面组件调用预设invoke函数,生成自定义URL请求,自定义URL请求包含预设Native函数名;将自定义URL请求发送至Native组件;
Native组件解析自定义URL请求,得到预设Native函数名;基于预设Native函数名,调用预设Native函数,得到预设Native函数的返回值;按照Web页面语言将返回值封装为返回数据,并将返回数据返回至Web页面组件;
Web页面组件解析所述返回数据,得到返回值。
第二方面,本发明实施例提供了一种Web页面组件与Native组件的交互装置,应用于采用iOS***的移动终端,该装置包括:
Web页面组件,用于调用预设invoke函数,生成自定义URL请求,自定义URL请求包含预设Native函数名;将自定义URL请求发送至所述Native组件;
Native组件,用于解析自定义URL请求,得到预设Native函数名;基于预设Native函数名,调用预设Native函数,得到预设Native函数的返回值;按照Web页面语言将返回值封装为返回数据,并将返回数据返回至Web页面组件;
Web页面组件,还用于解析返回数据,得到返回值。
第三方面,本发明实施例提供了一种电子设备,该设备包括:
处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现上述第一方面提供的Web页面组件与Native组件的交互方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面提供的Web页面组件与Native组件的交互方法的步骤。
本发明实施例提供的一种Web页面组件与Native组件的交互方法、装置及设备,应用于采用iOS***的移动终端,通过Web页面组件调用预设invoke函数,得到预设回调函数,并生成自定义URL请求。其中自定义URL请求包含预设回调函数对应的Native函数名,将自定义URL请求发送至Native组件。由Native组件解析自定义URL请求,得到Native函数名。基于Native函数名,调用Native函数,得到Native函数的返回值。按照Web页面语言将Native函数的返回值封装为返回数据,并将返回数据返回至Web页面。Web页面解析返回数据,得到返回值。Web页面组件通过自定义URL向Native组件发送了要调用的预设Native函数名,使得Native组件基于预设Native函数名对预设Native函数进行调用,得到预设Native函数的返回值。在此基础上,Native组件按照Web页面语言将预设Native函数的返回值封装为返回数据,使返回值以Web页面组件能够解析的返回数据的形式返回至Web页面组件。由此,Web页面组件解析返回数据就能得到要调用的预设Native函数的返回值,完成了Web页面组件对预设Native函数的回调,实现了Web页面组件与Native组件的交互。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一实施例的Web页面组件与Native组件的交互方法的流程示意图;
图2为本发明另一实施例的Web页面组件与Native组件的交互方法的流程示意图;
图3为本发明一实施例的Web页面组件与Native组件的交互装置的结构示意图;
图4为本发明另一实施例的Web页面组件与Native组件的交互装置的结构示意图;
图5为本发明一实施例的电子设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
下面首先对本发明一实施例的Web页面组件与Native组件的交互方法进行介绍。
如图1所示,本发明一实施例的Web页面组件与Native组件的交互方法的流程,应用于采用iOS***的移动终端,该方法可以包括:
S101,Web页面组件调用预设invoke函数,生成自定义URL请求,自定义URL请求包含预设Native函数名。
其中,自定义URL(Uniform Resource Locator,统一资源定位符)请求包含的预设Native函数名,用于后续Native组件按照Native函数名,调用Native函数。
当然,在实际应用中,Web页面组件调用预设invoke函数时,可以基于预设的invoke函数名与预设参数的对应关系,向预设invoke函数输入预设Native函数名对应的预设参数,且预设参数与交互请求对应,从而生成该预设参数对应的Native函数名,以便针对不同的交互请求,生成包含用于实现该交互请求的预设Native函数名。例如,用于实现获取用户信息的交互请求的预设Native函数名,对应于参数U。当Web页面组件发起获取用户信息的交互请求时,向调用的预设invoke函数输入参数U,则生成的自定义URL请求包含的预设Native函数名,是参数U对应的、用于实现获取用户信息的交互请求的函数名。
可选的,上述预设invoke函数包含在预设桥接对象中。
实际应用中,为了实现Web页面组件与预设invoke函数之间的分离,可以将预设invoke函数包含在预设桥接对象中。通过桥接对象将Web页面组件和预设invoke函数分解成两部分,从而实现对预设invoke函数的独立更新与维护,以实现预设invoke函数的更新与维护,能够在Web页面组件正常运行的情况下进行。
S102,Web页面组件将自定义URL请求发送至Native组件。
S103,Native组件解析自定义URL请求,得到预设Native函数名。
Native组件解析自定义URL请求的方式,具体可以是Native组件利用预设映射函数,把自定义URL请求映射为Native组件可编译的请求,从而对映射后的自定义URL请求进行编译,得到预设Native函数名。
S104,Native组件基于预设Native函数名,调用预设Native函数,得到预设Native函数的返回值。
S105,Native组件按照Web页面语言将返回值封装为返回数据,并将返回数据返回至Web页面组件。
其中,Web页面语言具体可以是用于网页开发的直译式脚本语言JavaScript,Native组件按照Web页面语言将返回值封装为返回数据,并将返回数据返回至Web页面组件,以便后续Web页面组件能够解析按照Web页面语言封装得到的返回数据。
S106,Web页面组件解析返回数据,得到返回值。
由于返回值是Native组件调用预设Native函数得到的,因此,Web页面组件解析返回数据,得到返回值,就实现了对预设Native函数的调用,完成了与Native组件的交互。
本发明实施例提供的一种Web页面组件与Native组件的交互方法,应用于采用iOS***的移动终端,由Web页面组件通过自定义URL向Native组件发送了要调用的预设Native函数名,使得Native组件基于预设Native函数名对预设Native函数进行调用,得到预设Native函数的返回值。在此基础上,Native组件按照Web页面语言将预设Native函数的返回值封装为返回数据,使返回值以Web页面组件能够解析的返回数据的形式返回至Web页面组件。由此,Web页面组件解析返回数据就能得到要调用的预设Native函数的返回值,完成了Web页面组件对预设Native函数的回调,实现了Web页面组件与Native组件的交互。
在实际应用中,由于用户习惯、App运行时延等因素,一次交互请求可能无法及时得到Native函数的返回值,此时往往会出现用户针对相同的交互需求多次发送调用指令或App发起多次交互的情况。相应的,Web页面组件会针对相同的Native函数多次发起交互请求。此时,需要针对每次的交互请求,返回与该交互请求对应的Native函数值,以避免返回值混乱的问题。
由此,可选的,当本发明图1所示实施例的S102包括将多个自定义URL请求发送至Native组件,各自定义URL请求包含相同的Native函数名时:
自定义URL请求还包含Native函数的标识信息。
相应的,在本发明图1所示实施例的S102之前,Web页面组件与Native组件的交互方法还可以包括:
Web页面组件调用预设invoke函数,得到预设回调函数地址,并将Native函数的标识信息作为预设回调函数地址的标识信息。
当Web页面组件针对相同的Native函数多次发起调用请求时,可以通过不同的预设回调函数传递相应请求对应的Native函数的返回值。同时,为了区分不同交互请求对应的Native函数的返回值,可以设置Native函数的标识信息,用于表明Native函数的返回值的唯一性。相应的可以将Native函数的标识信息作为预设回调函数地址的标识信息,以用于后续将该标识信息对应的Native函数的返回值通过该标识信息对应的预设回调函数传递。
例如,Web页面组件针对用于获取用户信息的预设Native函数,发起了两次交互请求。针对第1次交互请求,Web页面组件调用预设invoke函数,得到预设回调函数地址,将标识信息C1作为预设回调函数地址的标识信息。同时,生成包含预设Native函数名以及该预设Native函数的标识信息C1的自定义URL请求。针对第2次交互请求,Web页面组件调用预设invoke函数,得到预设回调函数地址,将标识信息C2作为预设回调函数地址的标识信息。同时,生成包含预设Native函数名以及该预设Native函数的标识信息C2的自定义URL请求。可以理解的是预设Native函数名是预设Native函数的函数名。
相应的,本发明图1所示实施例的S103,可以包括:
Native组件解析所述自定义URL请求,得到Native函数名和标识信息。
本发明图1所示实施例的S105,可以包括:
按照Web页面语言将返回值和标识信息封装为返回数据,并将返回数据返回至Web页面组件。
本发明图1所示实施例的S106,可以包括:
Web页面组件解析返回数据,得到返回值和标识信息。
相应的,Web页面组件与Native组件的交互方法还可以包括:
根据标识信息,确定标识信息对应的预设回调函数地址。
基于预设回调函数地址,调用预设回调函数以传递返回值。
例如,Web页面组件根据标识信息C1,调用第1次获取用户信息的交互请求得到的预设回调函数,传递标识信息C1对应、第1次获取用户信息的交互请求生成的自定义URL请求包含的预设invoke函数名所对应的返回值。Web页面组件根据标识信息C2,调用第2次获取用户信息的交互请求得到的预设回调函数,传递标识信息C2对应、第2次获取用户信息的交互请求生成的自定义URL请求包含的预设invoke函数名所对应的返回值。
当然,在实际应用中,每次交互请求的返回值的返回时间是不确定的,因此,可以将返回值的返回设置为异步返回,以便接收了返回值时立即调用标识信息对应的预设回调函数进行传递。由此,不必按照交互请求的发起顺序等待前一次交互请求的返回值返回后,再对发起顺序在后而返回值已返回的交互请求的返回值进行传递,提高了交互效率。
实际应用中,Native组件中的预设Native函数往往需要随着App的更新进行更新,因此,可选的,本发明图1所示实施例的Web页面组件与Native组件的交互方法,还可以包括:
Native组件接收并存储更新的预设Native函数。
Web页面组件接收更新的预设Native函数的预设Native函数名,并添加至预设invoke函数。
如果在后续的App更新中,需要对预设Native函数进行更新,可以直接在Native端组件中增加更新的Native函数,并由Native组件接收以及存储更新的Native函数。相应的,Web页面组件接收更新的预设Native函数的预设Native函数名,并添加至预设invoke函数,以便在响应于调用更新的预设Native函数的交互请求、调用预设invoke函数时,生成包含更新的预设Native函数名的自定义URL请求。
实际应用中,可能会出现对Native组件中除了与Web页面组件交互的部分以外的其他部分进行维护、或者仅对Native组件中与Web页面组件交互的部分进行维护的情况。为了方便Native组件中各部分能够被独立维护而不影响其他无需维护部分的运行,可以对Native组件中用于实现不同功能的各部分进行分离。
由此,如图2所示,本发明另一实施例的Web页面组件与Native组件的交互方法的流程,应用于采用iOS***的移动终端,Native组件中包括中间件,该方法可以包括:
S201,Web页面组件调用预设invoke函数,生成自定义URL请求,自定义URL请求包含预设Native函数名。
S202,Web页面组件将自定义URL请求发送至Native组件。
S201至S202与本发明图1所示实施例中的S101至S102为相同的步骤,在此不再赘述,详见图1所示实施例的描述。
S203,Native组件中的中间件接收并解析自定义URL请求,得到Native函数名。
由Native组件中的中间件负责接收并解析自定义URL请求,以便将Native组件中用于实现与Web组件交互功能的部分,与Native组件中用于实现除与Web组件交互功能以外的其他各部分进行分离。
中间件解析自定义URL请求的方式,具体可以是中间件利用预设映射函数,把自定义URL请求映射为中间件可编译的请求,从而对映射后的自定义URL请求进行编译,得到预设Native函数名。当然,中间件在得到预设Native函数名后。
S204,Native组件中的中间件基于预设Native函数名,调用预设Native函数,得到预设Native函数的返回值。
其中,预设Native函数可以直接存储在中间件中,也可以存储在Native组件中除中间件以外的其他部分中。中间件调用预设Native函数时可以从自身直接调用,也可以从Native组件中调用。图2所示实施例以中间件从Native组件中调用为例,此时Native组件接收Native组件中的中间件的预设Native函数调用指令,基于预设Native函数名,调用预设Native函数,得到预设Native函数的返回值,并将返回值发送至Native组件中的中间件。
当然,将预设Native函数存储在Native组件中除中间件以外的其他部分中,与直接存储在中间件中相比,后续存在预设Native函数的更新(例如,添加、修改或者删除等)时,可以直接在除中间件以外的其他部分中更新,而不必对中间件进行修改,不会对未更新的预设Native函数的调用造成影响,有利于后期维护。
S205,Native组件中的中间件接收返回值。
S206,Native组件中的中间件按照Web页面语言将返回值封装为返回数据,并将返回数据返回至Web页面组件。
与S203相对应的,在Native组件基于预设Native函数名,调用预设Native函数,得到预设Native函数的返回值之后,可以由Native组件中的中间件将返回值封装为Web页面组件能够解析的返回数据,并将返回数据返回至Web页面组件。
S207,Web页面组件解析返回数据,得到返回值。
S207与本发明图1所示实施例中的S106为相同的步骤,在此不再赘述,详见图1所示实施例的描述。
相应于上述方法实施例,本发明一实施例还提供了Web页面组件与Native组件的交互装置。
如图3所示,本发明一实施例的Web页面组件与Native组件的交互装置的结构,应用于采用iOS***的移动终端,该装置可以包括:
Web页面组件301,用于调用预设invoke函数,生成自定义URL请求,自定义URL请求包含预设Native函数名;将自定义URL请求发送至所述Native组件;
Native组件302,用于解析自定义URL请求,得到预设Native函数名;基于预设Native函数名,调用预设Native函数,得到预设Native函数的返回值;按照Web页面语言将返回值封装为返回数据,并将返回数据返回至Web页面组件;
Web页面组件301,还用于解析所述返回数据,得到返回值。
本发明实施例提供的一种Web页面组件与Native组件的交互装置,应用于采用iOS***的移动终端,由Web页面组件通过自定义URL向Native组件发送了要调用的预设Native函数名,使得Native组件基于预设Native函数名对预设Native函数进行调用,得到预设Native函数的返回值。在此基础上,Native组件按照Web页面语言将预设Native函数的返回值封装为返回数据,使返回值以Web页面组件能够解析的返回数据的形式返回至Web页面组件。由此,Web页面组件解析返回数据就能得到要调用的预设Native函数的返回值,完成了Web页面组件对预设Native函数的回调,实现了Web页面组件与Native组件的交互。
可选的,上述本发明图3所示实施例中,预设invoke函数包含在预设桥接对象中。
可选的,Web页面组件301,具体用于:将多个自定义URL请求发送至所述Native组件,各自定义URL请求包含相同的Native函数名;自定义URL请求还包含Native函数的标识信息;
相应的,Web页面组件301,还用于调用预设invoke函数,得到预设回调函数地址,并将Native函数的标识信息作为预设回调函数地址的标识信息;
Native组件302,具体用于解析所述自定义URL请求,得到Native函数名和所述标识信息;按照Web页面语言将返回值和标识信息封装为返回数据,并将返回数据返回至Web页面组件;
Web页面组件301,还用于解析返回数据,得到返回值和标识信息;根据标识信息,确定标识信息对应的预设回调函数地址;基于预设回调函数地址,调用预设回调函数以传递返回值。
可选的,本发明图3所示实施例中Native组件302,还用于接收并存储更新的预设Native函数;
Web页面组件301,还用于接收更新的预设Native函数的预设Native函数名,并添加至预设invoke函数。
如图4所示,本发明另一实施例的Web页面组件与Native组件的交互装置的结构,应用于采用iOS***的移动终端,该装置可以包括:
Web页面组件401,用于调用预设invoke函数,生成自定义URL请求,自定义URL请求包含预设Native函数名;将自定义URL请求发送至所述Native组件;
401与本发明图3所示实施例中的301为相同组件;
Native组件中的中间件4021,用于接收并解析自定义URL请求,得到Native函数名;
Native组件402,用于基于预设Native函数名,调用预设Native函数,得到预设Native函数的返回值,并将返回值发送至Native组件中的中间件;
Native组件中的中间件4021,还用于接收返回值;按照Web页面语言将返回值封装为返回数据,并将返回数据返回至Web页面组件;
Web页面组件401,还用于解析所述返回数据,得到返回值。
相应于上述实施例,本发明实施例还提供了一种电子设备,如图5所示,采用iOS***,该电子设备可以包括:
处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器通503过通信总线504完成相互间的通信;
存储器503,用于存放计算机程序;
处理器501,用于执行上述存储器503上所存放的计算机程序时,实现上述任一实施例中,Web页面组件与Native组件的交互方法的步骤。
本发明实施例提供的一种电子设备,采用iOS***,由Web页面组件通过自定义URL向Native组件发送了要调用的预设Native函数名,使得Native组件基于预设Native函数名对预设Native函数进行调用,得到预设Native函数的返回值。在此基础上,Native组件按照Web页面语言将预设Native函数的返回值封装为返回数据,使返回值以Web页面组件能够解析的返回数据的形式返回至Web页面组件。由此,Web页面组件解析返回数据就能得到要调用的预设Native函数的返回值,完成了Web页面组件对预设Native函数的回调,实现了Web页面组件与Native组件的交互。
上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离于上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明一实施例提供的计算机可读存储介质,包含于采用iOS***的移动终端,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中,Web页面组件与Native组件的交互方法的步骤。
本发明实施例提供的一种计算机可读存储介质,应用于采用iOS***的移动终端,包含于采用iOS***的移动终端,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,由Web页面组件通过自定义URL向Native组件发送了要调用的预设Native函数名,使得Native组件基于预设Native函数名对预设Native函数进行调用,得到预设Native函数的返回值。在此基础上,Native组件按照Web页面语言将预设Native函数的返回值封装为返回数据,使返回值以Web页面组件能够解析的返回数据的形式返回至Web页面组件。由此,Web页面组件解析返回数据就能得到要调用的预设Native函数的返回值,完成了Web页面组件对预设Native函数的回调,实现了Web页面组件与Native组件的交互。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一实施例中,Web页面组件与Native组件的交互方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、DSL(Digital Subscriber Line,数字用户线)或无线(例如:红外线、无线电、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如:DVD(Digital Versatile Disc,数字通用光盘))、或者半导体介质(例如:SSD(Solid StateDisk,固态硬盘))等。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种Web页面组件与Native组件的交互方法,其特征在于,应用于采用iOS***的移动终端,所述方法包括:
Web页面组件调用预设invoke函数,生成自定义URL请求,所述自定义URL请求包含预设Native函数名;将所述自定义URL请求发送至所述Native组件;
Native组件解析所述自定义URL请求,得到所述预设Native函数名;基于所述预设Native函数名,调用预设Native函数,得到所述预设Native函数的返回值;按照Web页面语言将所述返回值封装为返回数据,并将所述返回数据返回至所述Web页面组件;
所述Web页面组件解析所述返回数据,得到所述返回值。
2.根据权利要求1所述的方法,其特征在于,所述预设invoke函数包含在预设桥接对象中。
3.根据权利要求1所述的方法,其特征在于,所述将所述自定义URL请求发送至所述Native组件,包括:
将多个自定义URL请求发送至所述Native组件,各自定义URL请求包含相同的Native函数名;
所述自定义URL请求还包含所述Native函数的标识信息;
在所述将所述自定义URL请求发送至所述Native组件之前,所述方法还包括:
Web页面组件调用预设invoke函数,得到预设回调函数地址,并将所述Native函数的标识信息作为预设回调函数地址的标识信息;
所述Native组件解析所述自定义URL请求,得到所述Native函数名,包括:
所述Native组件解析所述自定义URL请求,得到所述Native函数名和所述标识信息;
所述按照Web页面语言将所述返回值封装为返回数据,并将所述返回数据返回至所述Web页面,包括:
按照Web页面语言将所述返回值和所述标识信息封装为返回数据,并将所述返回数据返回至所述Web页面组件;
所述Web页面组件解析所述返回数据,得到所述返回值,包括:
所述Web页面组件解析所述返回数据,得到所述返回值和所述标识信息;
所述方法还包括:
根据所述标识信息,确定所述标识信息对应的预设回调函数地址;
基于所述预设回调函数地址,调用预设回调函数以传递所述返回值。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述Native组件接收并存储更新的预设Native函数;
所述Web页面组件接收所述更新的预设Native函数的预设Native函数名,并添加至所述预设invoke函数。
5.根据权利要求1所述的方法,其特征在于,所述Native组件中包括中间件;
所述Native组件解析所述自定义URL请求,得到所述Native函数名,包括:
所述Native组件中的中间件接收并解析所述自定义URL请求,得到所述Native函数名;
在所述Native组件基于所述Native函数名,调用Native函数,得到所述Native函数的返回值之后,所述方法还包括:
所述Native组件中的中间件接收所述返回值;
所述Native组件按照Web页面语言将所述返回值封装为返回数据,并将所述返回数据返回至所述Web页面组件,包括:
所述Native组件中的中间件按照Web页面语言将所述返回值封装为返回数据,并将所述返回数据返回至所述Web页面组件。
6.一种Web页面组件与Native组件的交互装置,其特征在于,应用于采用iOS***的移动终端,所述装置包括:
Web页面组件,用于调用预设invoke函数,生成自定义URL请求,所述自定义URL请求包含预设Native函数名;将所述自定义URL请求发送至所述Native组件;
Native组件,用于解析所述自定义URL请求,得到所述预设Native函数名;基于所述预设Native函数名,调用预设Native函数,得到所述预设Native函数的返回值;按照Web页面语言将所述返回值封装为返回数据,并将所述返回数据返回至所述Web页面组件;
所述Web页面组件,还用于解析所述返回数据,得到所述返回值。
7.根据权利要求6所述的装置,其特征在于,所述预设invoke函数包含在预设桥接对象中。
8.根据权利要求6所述的装置,其特征在于,所述Web页面组件,具体用于:将多个自定义URL请求发送至所述Native组件,各自定义URL请求包含相同的Native函数名;
所述自定义URL请求还包含所述Native函数的标识信息;
所述Web页面组件,还用于调用预设invoke函数,得到预设回调函数地址,并将所述Native函数的标识信息作为预设回调函数地址的标识信息;
所述Native组件,具体用于解析所述自定义URL请求,得到所述Native函数名和所述标识信息;按照Web页面语言将所述返回值和所述标识信息封装为返回数据,并将所述返回数据返回至所述Web页面组件;
所述Web页面组件,还用于解析所述返回数据,得到所述返回值和所述标识信息;根据所述标识信息,确定所述标识信息对应的预设回调函数地址;基于所述预设回调函数地址,调用预设回调函数以传递所述返回值。
9.根据权利要求6所述的装置,其特征在于,所述Native组件,还用于接收并存储更新的预设Native函数;
所述Web页面组件,还用于接收所述更新的预设Native函数的预设Native函数名,并添加至所述预设invoke函数。
10.根据权利要求6所述的装置,其特征在于,所述Native组件中还包括中间件;
所述Native组件解析所述自定义URL请求,得到所述Native函数名,包括:
所述Native组件中的中间件,用于接收并解析所述自定义URL请求,得到所述Native函数名;接收所述返回值;按照Web页面语言将所述返回值封装为返回数据,并将所述返回数据返回至所述Web页面组件。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现如权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810745570.1A CN109062626A (zh) | 2018-07-09 | 2018-07-09 | Web页面组件与Native组件的交互方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810745570.1A CN109062626A (zh) | 2018-07-09 | 2018-07-09 | Web页面组件与Native组件的交互方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109062626A true CN109062626A (zh) | 2018-12-21 |
Family
ID=64819653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810745570.1A Pending CN109062626A (zh) | 2018-07-09 | 2018-07-09 | Web页面组件与Native组件的交互方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062626A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096874A (zh) * | 2019-03-15 | 2019-08-06 | 深圳壹账通智能科技有限公司 | 程序页面安全告警方法、装置、计算机设备及存储介质 |
CN110990170A (zh) * | 2019-11-29 | 2020-04-10 | 广州市百果园信息技术有限公司 | 数据结构、通信方法、装置、存储介质及设备 |
CN111158777A (zh) * | 2019-12-12 | 2020-05-15 | 中移(杭州)信息技术有限公司 | 组件调用方法、装置及计算机可读存储介质 |
CN111367635A (zh) * | 2020-02-28 | 2020-07-03 | 北京百度网讯科技有限公司 | 宿主平台层中的应用接口实现方法、装置、设备和介质 |
CN111459685A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 页面端与原生端的通信方法、装置、设备及可读介质 |
CN112559225A (zh) * | 2020-12-24 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 基于html的原生能力交互方法、设备及存储介质 |
CN112733064A (zh) * | 2021-01-15 | 2021-04-30 | 麒麟合盛网络技术股份有限公司 | 一种页面展示方法和装置 |
CN112818265A (zh) * | 2021-02-22 | 2021-05-18 | 北京拉勾网络技术有限公司 | 一种交互方法及移动终端 |
CN112905281A (zh) * | 2021-02-08 | 2021-06-04 | 北京字跳网络技术有限公司 | 视图显示方法、装置、电子设备及存储介质 |
CN113220380A (zh) * | 2021-05-25 | 2021-08-06 | 北京小米移动软件有限公司 | 本地原生程序的调用方法、装置、电子设备及存储介质 |
CN113703869A (zh) * | 2021-08-30 | 2021-11-26 | 深圳市云鼠科技开发有限公司 | 基于组件的功能调用方法、装置、设备及存储介质 |
US11698823B2 (en) | 2020-02-28 | 2023-07-11 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Application interface implementation method in a host platform layer, device, and medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945169A (zh) * | 2012-12-05 | 2013-02-27 | 江苏鸿信***集成有限公司 | 一种基于Android的Native APP融合Web APP开发*** |
CN103780627A (zh) * | 2014-01-30 | 2014-05-07 | 吴锦洲 | NativeAPP、WebAPP与类微信APP信息同步*** |
CN105138340A (zh) * | 2015-09-15 | 2015-12-09 | 北京齐尔布莱特科技有限公司 | 一种Native与Web页面的交互方法和*** |
CN105824900A (zh) * | 2016-03-14 | 2016-08-03 | 传线网络科技(上海)有限公司 | 一种基于react-native的页面展示*** |
CN107562548A (zh) * | 2017-08-04 | 2018-01-09 | 北京趣拿软件科技有限公司 | 传输数据的方法和装置 |
-
2018
- 2018-07-09 CN CN201810745570.1A patent/CN109062626A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945169A (zh) * | 2012-12-05 | 2013-02-27 | 江苏鸿信***集成有限公司 | 一种基于Android的Native APP融合Web APP开发*** |
CN103780627A (zh) * | 2014-01-30 | 2014-05-07 | 吴锦洲 | NativeAPP、WebAPP与类微信APP信息同步*** |
CN105138340A (zh) * | 2015-09-15 | 2015-12-09 | 北京齐尔布莱特科技有限公司 | 一种Native与Web页面的交互方法和*** |
CN105824900A (zh) * | 2016-03-14 | 2016-08-03 | 传线网络科技(上海)有限公司 | 一种基于react-native的页面展示*** |
CN107562548A (zh) * | 2017-08-04 | 2018-01-09 | 北京趣拿软件科技有限公司 | 传输数据的方法和装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459685A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 页面端与原生端的通信方法、装置、设备及可读介质 |
CN110096874A (zh) * | 2019-03-15 | 2019-08-06 | 深圳壹账通智能科技有限公司 | 程序页面安全告警方法、装置、计算机设备及存储介质 |
CN110990170A (zh) * | 2019-11-29 | 2020-04-10 | 广州市百果园信息技术有限公司 | 数据结构、通信方法、装置、存储介质及设备 |
CN111158777A (zh) * | 2019-12-12 | 2020-05-15 | 中移(杭州)信息技术有限公司 | 组件调用方法、装置及计算机可读存储介质 |
CN111158777B (zh) * | 2019-12-12 | 2023-10-27 | 中移(杭州)信息技术有限公司 | 组件调用方法、装置及计算机可读存储介质 |
US11698823B2 (en) | 2020-02-28 | 2023-07-11 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Application interface implementation method in a host platform layer, device, and medium |
CN111367635A (zh) * | 2020-02-28 | 2020-07-03 | 北京百度网讯科技有限公司 | 宿主平台层中的应用接口实现方法、装置、设备和介质 |
CN112559225A (zh) * | 2020-12-24 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 基于html的原生能力交互方法、设备及存储介质 |
CN112733064A (zh) * | 2021-01-15 | 2021-04-30 | 麒麟合盛网络技术股份有限公司 | 一种页面展示方法和装置 |
CN112733064B (zh) * | 2021-01-15 | 2023-06-27 | 麒麟合盛网络技术股份有限公司 | 一种页面展示方法和装置 |
CN112905281A (zh) * | 2021-02-08 | 2021-06-04 | 北京字跳网络技术有限公司 | 视图显示方法、装置、电子设备及存储介质 |
CN112818265A (zh) * | 2021-02-22 | 2021-05-18 | 北京拉勾网络技术有限公司 | 一种交互方法及移动终端 |
CN112818265B (zh) * | 2021-02-22 | 2023-11-10 | 北京拉勾网络技术有限公司 | 一种交互方法及移动终端 |
CN113220380A (zh) * | 2021-05-25 | 2021-08-06 | 北京小米移动软件有限公司 | 本地原生程序的调用方法、装置、电子设备及存储介质 |
CN113703869A (zh) * | 2021-08-30 | 2021-11-26 | 深圳市云鼠科技开发有限公司 | 基于组件的功能调用方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062626A (zh) | Web页面组件与Native组件的交互方法、装置及设备 | |
US8396939B2 (en) | Content distribution management device, terminal, program, and content distribution system | |
EP2962216B1 (en) | Sharing application states | |
KR102504075B1 (ko) | 사용자 디바이스 이벤트의 매칭 및 속성 | |
CN108132814A (zh) | 应用程序的页面加载方法、装置、计算机设备和存储介质 | |
CN107885540A (zh) | 一种加载应用程序静态资源的方法、装置及终端 | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
CN107301137A (zh) | Rset接口实现方法和装置及电子设备和计算机可读存储介质 | |
CN106980501A (zh) | 一种软件包管理方法、装置和*** | |
CN111124544A (zh) | 界面显示方法、装置、电子设备及存储介质 | |
AU2014412020B2 (en) | Techniques to transform network resource requests to zero rated network requests | |
KR102123750B1 (ko) | 네트워크 서비스 요청 | |
CN109032693A (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 | |
CN110647634A (zh) | 媒体资源的查找方法、装置、存储介质及电子装置 | |
CN104980511A (zh) | 一种游戏数据访问方法、***以及游戏网页服务器 | |
CN110020264A (zh) | 一种无效超链接的确定方法及装置 | |
EP3872630A2 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
CN114928556A (zh) | 接口服务的测试方法及相关设备 | |
CN108595202A (zh) | http请求处理方法及装置 | |
CN106484741B (zh) | 一种单页应用访问数据收集和发送的方法及装置 | |
CN105760396B (zh) | 一种网页加载方法及装置 | |
CN113590985A (zh) | 页面跳转配置方法、装置、电子设备和计算机可读介质 | |
CN108228145A (zh) | 混合型应用程序的数据处理方法、***及移动设备 | |
CN103019867B (zh) | 进程间的脚本执行方法、***及浏览器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |