CN115758026A - 应用程序与网络页面的交互方法和装置 - Google Patents
应用程序与网络页面的交互方法和装置 Download PDFInfo
- Publication number
- CN115758026A CN115758026A CN202211471849.8A CN202211471849A CN115758026A CN 115758026 A CN115758026 A CN 115758026A CN 202211471849 A CN202211471849 A CN 202211471849A CN 115758026 A CN115758026 A CN 115758026A
- Authority
- CN
- China
- Prior art keywords
- interface
- application program
- input parameters
- identifier
- browser
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及大数据处理技术领域,特别是涉及应用程序与网络页面的交互方法和装置。所述方法包括:在浏览器中调用应用程序的接口,利用所述接口接收输入参数;其中,所述输入参数至少包括调用函数的标识;所述浏览器为在所述应用程序中创建的浏览器,用于展示网络页面;将所述接口的标识及所述输入参数发送至应用程序;在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。本公开可以实现对浏览器或原生应用不同步版本升级,而不会影响交互使用。当需要与应用程序中新的功能进行交互时,不需要像现有技术那样在应用程序中注册新的代码,也可以实现灵活的交互功能。
Description
技术领域
本申请涉及大数据处理技术领域,特别是涉及一种应用程序与网络页面的交互方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了各种各样的应用程序(APP,Application)技术,给人们的生产生活带来极大的便利。然而,随着通信技术的发展,新功能的应用程序不断更新,原生应用程序需要与网络页面进行大量交互,原生应用程序和网络页面的传输稳定性和灵活性的等需求呈指数上升。
相关技术中,在浏览器加载网页的过程中,根据要加载的链接进行拦截处理,实现与应用程序的通信,这种方法存在参数限制,比如参数只能传递基本类型,无法传递过多参数,同时存在安全隐患。另一相关技术中,将每个需要交互的方法都提前在应用程序注册,并监听浏览器的调用,这种方法存在不灵活性,并且难以维护。因此,现有的交互方式稳定性和灵活性已经不能满足现实需求。
发明内容
基于此,有必要针对上述技术问题,提供一种能够应用程序和网络页面交互灵活性和稳定性的应用程序与网络页面的交互方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种应用程序与网络页面的交互方法。所述方法包括:
在浏览器中调用应用程序的接口,利用所述接口接收输入参数;其中,所述输入参数至少包括调用函数的标识;所述浏览器为在所述应用程序中创建的浏览器,用于展示网络页面;
将所述接口的标识及所述输入参数发送至应用程序;
在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
在一种可能的实现方式中,所述输入参数还包括回调函数的标识,所述在所述得到运行结果,之后还包括:
在确定需要所述运行结果的情况下,根据所述回调函数的标识,生成回调函数的声明;
运行所述回调函数,以将所述运行结果返回至所述浏览器。
在一种可能的实现方式中,所述运行所述回调函数,以将所述运行结果返回至所述浏览器,包括:
将所述回调函数的标识以及所述运行结果拼接为字符串的格式;
将所述拼接后的回调函数的标识及所述运行结果作为所述回调函数的输入参数,并在所述浏览器中运行所述回调函数。
在一种可能的实现方式中,所述将所述输入参数发送至应用程序,包括:
将所述输入参数转换为字符串格式,得到字符串格式的输入参数;
将所述字符串格式的输入参数以消息的方式发送至应用程序。
在一种可能的实现方式中,所述在所述应用程序中接收并解析所述接口的标识及所述输入参数,包括:
在应用程序中接收所述字符串格式的输入参数;
将所述字符串格式的输入参数转换为对象格式的输入参数;
解析所述对象格式的输入参数,得到所述接口的标识、所述调用函数的标识以及回调函数的标识。
在一种可能的实现方式中,所述生成所述接口的方法声明,包括:
根据所述接口的标识,生成所述接口对应的方法选择器;
在所述应用程序中查找所述方法选择器,若存在所述方法选择器,则生成所述接口的方法声明。
在一种可能的实现方式中,在浏览器中加载预封装的第一交互代码;其中,所述第一交互代码在运行时用于供所述浏览器执行调用应用程序的接口,利用所述接口接收输入参数,以及将所述接口的标识及所述输入参数发送至应用程序;
在应用程序中加载预封装的第二交互代码;其中,所述第二交互代码在运行时用于供所述应用程序执行接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
第二方面,本申请还提供了一种应用程序与网络页面的交互装置,其特征在于,所述装置包括:
接收模块,用于在浏览器中调用应用程序的接口,利用所述接口接收输入参数;其中,所述输入参数至少包括调用函数的标识;所述浏览器为在所述应用程序中创建的浏览器,用于展示网络页面;
发送模块,用于将所述接口的标识及所述输入参数发送至应用程序;
调用模块,用于在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
在一种可能的实现方式中,所述输入参数还包括回调函数的标识,所述装置还包括:
生成模块,用于在确定需要所述运行结果的情况下,根据所述回调函数对应的标识,生成回调函数的声明;
回调模块,用于运行所述回调函数,以将所述运行结果返回至所述浏览器。
在一种可能的实现方式中,所述回调模块,包括:
拼接子模块,用于将所述回调函数的标识以及所述运行结果拼接为字符串的格式;
回调子模块,用于将所述拼接后的回调函数的标识及所述运行结果作为所述回调函数的输入参数,并在所述浏览器中运行所述回调函数。
在一种可能的实现方式中,所述发送模块,包括:
转换子模块,用于将所述输入参数转换为字符串格式,得到字符串格式的输入参数;
发送子模块,用于将所述字符串格式的输入参数以消息的方式发送至应用程序。
在一种可能的实现方式中,所述调用模块,包括:
接收子模块,用于在应用程序中接收所述字符串格式的输入参数;
转换子模块,用于将所述字符串格式的输入参数转换为对象格式的输入参数;
解析子模块,用于解析所述对象格式的输入参数,得到所述接口的标识、所述调用函数的标识以及回调函数的标识。
在一种可能的实现方式中,所述调用模块,还包括:
第一生成子模块,用于根据所述接口的标识,生成所述接口对应的方法选择器;
第二生成子模块,用于在所述应用程序中查找所述方法选择器,若存在所述方法选择器,则生成所述接口的方法声明。
在一种可能的实现方式中,还包括:
第一加载模块,用于在浏览器中加载预封装的第一交互代码;其中,所述第一交互代码在运行时用于供所述浏览器执行调用应用程序的接口,利用所述接口接收输入参数,以及将所述接口的标识及所述输入参数发送至应用程序;
第二加载模块,用于在应用程序中加载预封装的第二交互代码;其中,所述第二交互代码在运行时用于供所述应用程序执行接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如本公开实施例任一项所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本公开实施例任一项所述的方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本公开实施例任一项所述的方法。
上述应用程序与网络页面的交互方法、装置、计算机设备、存储介质和计算机程序产品,通过在浏览器中设置调用应用程序的接口,利用接口接收输入参数,输入参数包括应用程序中的调用函数,使得浏览器和原生应用程序进行交互时,无需修改浏览器以及原生应用程序中已有代码。可以实现对浏览器或原生应用不同步版本升级,而不会影响交互使用。进一步地,当需要与应用程序中新的功能进行交互时,不需要像现有技术那样在应用程序中注册新的代码,实现该交互功能,本公开实施例只需要获知新的功能的调用函数,将该调用函数作为输入参数即可,提高了浏览器与应用程序之间交互的稳定性与灵活性。同时本公开实施例可以减少应用程序多次发布导致的错误,提高了客户端的容错率。
附图说明
图1为一个实施例中应用程序与网络页面的交互方法的第一流程示意图;
图2为一个实施例中应用程序与网络页面的交互方法的第二流程示意图;
图3为一个实施例中应用程序与网络页面的交互方法的第三流程示意图;
图4为一个实施例中应用程序与网络页面的交互方法的第四流程示意图;
图5为一个实施例中应用程序与网络页面的交互方法的第五流程示意图;
图6为一个实施例中应用程序与网络页面的交互方法的第六流程示意图;
图7为一个实施例中应用程序与网络页面的交互方法的第七流程示意图;
图8为一个实施例中应用程序与网络页面的交互方法的第八流程示意图;
图9为一个实施例中应用程序与网络页面的交互装置的结构框图;
图10为一个实施例中计算机设备的内部结构图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。本申请计数方案中对数据的获取、存储、使用、处理均符合国家法律法规的相关规定。
在一个实施例中,如图1所示,提供了一种应用程序与网络页面的交互方法,包括以下步骤:
步骤S101,在浏览器中调用应用程序的接口,利用所述接口接收输入参数;其中,所述输入参数至少包括调用函数的标识;所述浏览器为在所述应用程序中创建的浏览器,用于展示网络页面。
本公开实施例中,在应用程序中创建浏览器,用来运行html文件,从而展示网络页面。本公开实施例中所述浏览器的类型不做限制,例如H5浏览器。在一示例性实施例中,所述应用程序可以运行于IOS系统、安卓系统、linux系统,本公开对此不做限制。在一示例性实施例中,可以在浏览器中设置是否允许与html进行交互。在一示例性实施例中,可以创建一个交互功能的类,该类中包含调用应用程序的接口,该接口可以接收输入参数,其中所述输入参数至少包括调用函数的标识。其中,所述调用函数预先存在于应用程序中,对应于应用程序中一个数据处理过程。
步骤S103,将所述接口的标识及所述输入参数发送至应用程序。
本公开实施例中,将所述接口的标识以及输入参数可以以消息的方式发送至应用程序,其中,所述输入参数至少包括调用函数的标识。在一示例性实施例中,为了便于传输,可以将所述接口的标识以及输入参数转换成预设的格式。例如将对象转换为字符串。
步骤S105,在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
本公开实施例中,可以利用预设的前端消息接收对象(预设的程序类)接收所述接口的标识以及输入参数。在一示例性实施例中,所述接口的标识和输入参数进行解析,并将上述预设的格式转换为原格式,以便数据处理。本公开实施例中,所述方法声明用于描述类应该具有的功能,例如可以包括:权限修饰符返回值类型方法名(形参列表){方法体}。方法声明用于执行类中的调用函数。在一示例性实施例中,若所述应用程序中不存在上述接口,则可以以弹窗的方式提示该方法不存在。在一示例性实施例中,若传入的参数为控,则可以提示:需按约定传入对应的参数。
本公开实施例中,通过在浏览器中设置调用应用程序的接口,利用接口接收输入参数,输入参数包括应用程序中的调用函数,使得浏览器和原生应用程序进行交互时,无需修改浏览器以及原生应用程序中已有代码。可以实现对浏览器或原生应用不同步版本升级,而不会影响交互使用。进一步地,当需要与应用程序中新的功能进行交互时,不需要像现有技术那样在应用程序中注册新的代码,实现该交互功能,本公开实施例只需要获知新的功能的调用函数,将该调用函数作为输入参数即可,提高了浏览器与应用程序之间交互的稳定性与灵活性。同时本公开实施例可以减少应用程序多次发布导致的错误,提高了客户端的容错率。
图2为一个实施例中应用程序与网络页面的交互方法的第二流程示意图,参考图2所示,在步骤S105,在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。之后还包括:
步骤S207,在确定需要所述运行结果的情况下,根据所述回调函数的标识,生成回调函数的声明。
步骤S209,运行所述回调函数,以将所述运行结果返回至所述浏览器。
本公开实施例中,是否需要运行结果可以根据具体的交互场景选择,在一示例性实施例中,可以在应用程序中执行调用函数,得到运行结果。在另一示例性实施例中,可以在应用程序中调用回调函数,将运行结果发送给浏览器。本公开实施例中,所述回调函数包括存在于前端浏览器中的函数。在一示例性实施例中,可以在输入参数中增加回调函数的标识,例如回调函数A,则运行结果通过回调函数A返回;若输入参数中为回调函数B,则将运行结果通过回调函数B返回。
本公开实施例,通过回调函数将运行结果发送至浏览器,无需修改客户端原生应用程序的代码,提高了交互的灵活性。进一步地,本公开实施例中的回调方法属于异步回调,具体地,当浏览器发起的耗时任务时,浏览器可以同时执行不依赖于应用程序返回结果的任务,同时,当应用程序处理完浏览器发送的任务,得到运行结果时,可以及时准确的通知浏览器,浏览器收到处理通知后再根据运行结果进行下一步的操作。可以实现浏览器与应用程序的交互在内存不卡顿情况下交互,提高了处理器运行流畅性。
图3为一个实施例中应用程序与网络页面的交互方法的第三流程示意图,参考图3所示,所述步骤S209,运行所述回调函数,以将所述运行结果返回至所述浏览器,包括:
步骤S301,将所述回调函数的标识以及所述运行结果拼接为字符串的格式。
步骤S303,将所述拼接后的回调函数的标识及所述运行结果作为所述回调函数的输入参数,并在所述浏览器中运行所述回调函数。
本公开实施例中,将回调函数的标识以及运行结果拼接为字符串的格式,在一示例性实施例中,还可以将运行结果的数据类型或其他数据也拼接到字符串中。本公开实施例中,所述拼接包括将回调函数的标识以及运行结果的字符串形式按照预设顺序设置,例如字符串格式:回调函数声明,运行结果,运行结果数据类型。
本公开实施例中,将所述拼接后的回调函数的标识及所述运行结果作为回调函数的输入参数,并在浏览器中运行所述回调函数,以得到运行结果。
本公开实施例中,将回调函数的标识以及运行结果进行拼接,在其他实施例中,还可以将更多的信息进行拼接,可以减少交互次数,提高交互效率。
图4为一个实施例中应用程序与网络页面的交互方法的第四流程示意图,参考图4所示,所述步骤S105,将所述接口的标识及所述输入参数发送至应用程序,包括:
步骤S401,将所述输入参数转换为字符串格式,得到字符串格式的输入参数;
步骤S403,将所述字符串格式的输入参数以消息的方式发送至应用程序。
本公开实施例中,将输入参数转换为字符串格式,即将输入参数作为json对象进行处理。在一示例性实施例中,可以将字符串格式的输入参数以消息的方式发送至应用程序。例如:消息(JSON.string(params))。
本公开实施例中,将输入参数转换成字符串,并以消息的方式发送至应用程序,符合现有的WKScriptMessageHandle协议,可以让本公开实施例中的交互方法更高的兼容性。
图5为一个实施例中应用程序与网络页面的交互方法的第五流程示意图,参考图5所示,所述步骤S105,在所述应用程序中接收并解析所述接口的标识及所述输入参数,包括:
步骤S501,在应用程序中接收所述字符串格式的输入参数;
步骤S503,将所述字符串格式的输入参数转换为对象格式的输入参数;
步骤S505,解析所述对象格式的输入参数,得到所述接口的标识、所述调用函数的标识以及回调函数的标识。
本公开实施例中,可以在应用程序中设置一个类,用来接收消息。在一示例性实施例中,在消息较多的情况下,可以将消息缓存储至消息队列。当接收到消息后,从消息中提取出输入参数,并将输入参数转换成对象格式的输入参数。在一示例性实施例中,当输入参数中回调函数的标识存在的情况下,则表示需要将运行结果发送至回调函数。生成所述接口的方法声明,运行所述调用函数,得到运行结果。
本公开实施例中,当接收到字符串格式的输入参数,还不能立即运行,需要将字符串格式的输入参数转换成对象格式的输入参数,并运行调用函数,得到运行结果。
图6为一个实施例中应用程序与网络页面的交互方法的第六流程示意图,参考图6所示,所述步骤105中,在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果,包括:
步骤S601,在所述应用程序中接收并解析所述接口的标识及所述输入参数,根据所述接口的标识,生成所述接口对应的方法选择器。
步骤S603,在所述应用程序中查找所述方法选择器,若存在所述方法选择器,则生成所述接口的方法声明,运行所述调用函数,得到运行结果。
本公开实施例中,所述方法选择器用于表征方法的地址。在应用程序中查找所述接口对应的方法选择器。在一示例性实施例,若没有查到方法选择器,则可以以弹窗的方式提示:该方法尚未实现。在一示例性实施例中,若查到所述方法选择器,则生成所述接口的方法声明或方法签名。其中,方法声明或方法签名为该方法的唯一识别标识,若存在这个方法声明或方法签名,表示存在该方法的具体实现。
本公开实施例中,通过生成接口对应的方法选择器,在应用程序中查找该方法选择器,若应用程序中存在该方法选择器,则表示存在该方法,通过本公开实施例可以快速的确定应用程序中是否存在所述接口对应的方法。
图7为一个实施例中应用程序与网络页面的交互方法的第七流程示意图,参考图7所示,在步骤S101在浏览器中调用应用程序的接口,利用所述接口接收输入参数;其中,所述输入参数至少包括调用函数的标识;所述浏览器为在所述应用程序中创建的浏览器,用于展示网络页面,之前还包括:
步骤S701,在浏览器中加载预封装的第一交互代码;其中,所述第一交互代码在运行时用于供所述浏览器执行调用应用程序的接口,利用所述接口接收输入参数,以及将所述接口的标识及所述输入参数发送至应用程序。
步骤S703,在应用程序中加载预封装的第二交互代码;其中,所述第二交互代码在运行时用于供所述应用程序执行接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
本公开实施例,对于不同的客户端,可以通过加载的方式获取第一交互代码,和第二交互代码。在一示例性实施例中,所述第一交互代码在运行时用于供所述浏览器执行调用应用程序的接口,利用所述接口接收输入参数,以及将所述接口的标识及所述输入参数发送至应用程序。在其他示例性实施例中,所述第一交互代码还可以包括预先封装的上述各实施例中浏览器的执行步骤。在一示例性实施例中,所述第二交互代码在运行时用于供所述应用程序执行接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。在其他示例性实施例中,所述第二交互代码还可以包括预先封装的上述各实施例中应用程序的执行步骤。在一示例性实施例中,还可以给浏览器添加响应的类,用来处理发送给客户端的消息。
本公开实施例,通过封装第一交互代码和第二交互代码,在程序运行时期,通过可以通过加载的方式,动态的调用上述交互方法,无需对源代码做较多的改动,提高了交互方法的适用度。
图8为一个实施例中应用程序与网络页面的交互方法的第八流程示意图。参考图8所示,当客户端启动应用程序(APP)后,打开浏览器(webView),进入步骤801,在浏览器中注入封装的第一交互代码(JS调用方法),以及在应用程序中注入第二交互代码(调用JS的方法)。在此过程中,如果注入失败,则可以以弹窗的方式提示,该方法不存在。步骤803,当注入交互代码完成后,前端(浏览器)调用第一交互代码,利用接口(如requestNative)接收约定的输入参数。若参数为空,则提示前端需要按约定的参数进行传入。步骤805,客户端(应用程序)解析传入的输入参数,根据输入参数,通过运行(runtime)生成接口的方法声明,调用输入参数中的调用函数。如果调用失败,可以提示该接口功能尚未开发。步骤807,被调用的调用函数实现对应的逻辑,根据输入参数中是否存在回调函数判断是否需要回调结果(运行结果)。步骤809,根据输入参数中的回调函数的名称(标识)生成回调函数的声明,调用该回调函数,调用结束,完成浏览器和应用程序的往返交互。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的应用程序与网络页面的交互方法的应用程序与网络页面的交互装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用程序与网络页面的交互装置实施例中的具体限定可以参见上文中对于应用程序与网络页面的交互方法的限定,在此不再赘述。
在一个实施例中,图9为一个实施例中应用程序与网络页面的交互装置的结构框图,参考图9所示,所述装置900包括:
接收模块901,用于在浏览器中调用应用程序的接口,利用所述接口接收输入参数;其中,所述输入参数至少包括调用函数的标识;所述浏览器为在所述应用程序中创建的浏览器,用于展示网络页面;
发送模块903,用于将所述接口的标识及所述输入参数发送至应用程序;
调用模块905,用于在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
在一种可能的实现方式中,所述输入参数还包括回调函数的标识,所述装置还包括:
生成模块,用于在确定需要所述运行结果的情况下,根据所述回调函数对应的标识,生成回调函数的声明;
回调模块,用于运行所述回调函数,以将所述运行结果返回至所述浏览器。
在一种可能的实现方式中,所述回调模块,包括:
拼接子模块,用于将所述回调函数的标识以及所述运行结果拼接为字符串的格式;
回调子模块,用于将所述拼接后的回调函数的标识及所述运行结果作为所述回调函数的输入参数,并在所述浏览器中运行所述回调函数。
在一种可能的实现方式中,所述发送模块,包括:
转换子模块,用于将所述输入参数转换为字符串格式,得到字符串格式的输入参数;
发送子模块,用于将所述字符串格式的输入参数以消息的方式发送至应用程序。
在一种可能的实现方式中,所述调用模块,包括:
接收子模块,用于在应用程序中接收所述字符串格式的输入参数;
转换子模块,用于将所述字符串格式的输入参数转换为对象格式的输入参数;
解析子模块,用于解析所述对象格式的输入参数,得到所述接口的标识、所述调用函数的标识以及回调函数的标识。
在一种可能的实现方式中,所述调用模块,还包括:
第一生成子模块,用于根据所述接口的标识,生成所述接口对应的方法选择器;
第二生成子模块,用于在所述应用程序中查找所述方法选择器,若存在所述方法选择器,则生成所述接口的方法声明。
在一种可能的实现方式中,还包括:
第一加载模块,用于在浏览器中加载预封装的第一交互代码;其中,所述第一交互代码在运行时用于供所述浏览器执行调用应用程序的接口,利用所述接口接收输入参数,以及将所述接口的标识及所述输入参数发送至应用程序;
第二加载模块,用于在应用程序中加载预封装的第二交互代码;其中,所述第二交互代码在运行时用于供所述应用程序执行接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
上述应用程序与网络页面的交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储应用程序与网络页面的交互数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序与网络页面的交互方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用程序与网络页面的交互方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
需要说明的是,本申请若涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (17)
1.一种应用程序与网络页面的交互方法,其特征在于,所述方法包括:
在浏览器中调用应用程序的接口,利用所述接口接收输入参数;其中,所述输入参数至少包括调用函数的标识;所述浏览器为在所述应用程序中创建的浏览器,用于展示网络页面;
将所述接口的标识及所述输入参数发送至应用程序;
在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
2.根据权利要求1所述的方法,其特征在于,所述输入参数还包括回调函数的标识,所述在所述得到运行结果,之后还包括:
在确定需要所述运行结果的情况下,根据所述回调函数对应的标识,生成回调函数的声明;
运行所述回调函数,以将所述运行结果返回至所述浏览器。
3.根据权利要求2所述的方法,其特征在于,所述运行所述回调函数,以将所述运行结果返回至所述浏览器,包括:
将所述回调函数的标识以及所述运行结果拼接为字符串的格式;
将所述拼接后的回调函数的标识及所述运行结果作为所述回调函数的输入参数,并运行所述回调函数。
4.根据权利要求1所述的方法,其特征在于,所述将所述输入参数发送至应用程序,包括:
将所述输入参数转换为字符串格式,得到字符串格式的输入参数;
将所述字符串格式的输入参数以消息的方式发送至应用程序。
5.根据权利要求4所述的方法,其特征在于,所述在所述应用程序中接收并解析所述接口的标识及所述输入参数,包括:
在应用程序中接收所述字符串格式的输入参数;
将所述字符串格式的输入参数转换为对象格式的输入参数;
解析所述对象格式的输入参数,得到所述接口的标识、所述调用函数的标识以及回调函数的标识。
6.根据权利要求1所述的方法,其特征在于,所述生成所述接口的方法声明,包括:
根据所述接口的标识,生成所述接口对应的方法选择器;
在所述应用程序中查找所述方法选择器,若存在所述方法选择器,则生成所述接口的方法声明。
7.根据权利要求1至6中任一项所述的方法,其特征在于:
在浏览器中加载预封装的第一交互代码;其中,所述第一交互代码在运行时用于供所述浏览器执行调用应用程序的接口,利用所述接口接收输入参数,以及将所述接口的标识及所述输入参数发送至应用程序;
在应用程序中加载预封装的第二交互代码;其中,所述第二交互代码在运行时用于供所述应用程序执行接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
8.一种应用程序与网络页面的交互装置,其特征在于,所述装置包括:
接收模块,用于在浏览器中调用应用程序的接口,利用所述接口接收输入参数;其中,所述输入参数至少包括调用函数的标识;所述浏览器为在所述应用程序中创建的浏览器,用于展示网络页面;
发送模块,用于将所述接口的标识及所述输入参数发送至应用程序;
调用模块,用于在所述应用程序中接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
9.根据权利要求8所述的装置,其特征在于,所述输入参数还包括回调函数的标识,所述装置还包括:
生成模块,用于在确定需要所述运行结果的情况下,根据所述回调函数对应的标识,生成回调函数的声明;
回调模块,用于运行所述回调函数,以将所述运行结果返回至所述浏览器。
10.根据权利要求9所述的装置,其特征在于,所述回调模块,包括:
拼接子模块,用于将所述回调函数的标识以及所述运行结果拼接为字符串的格式;
回调子模块,用于将所述拼接后的回调函数的标识及所述运行结果作为所述回调函数的输入参数,并在所述浏览器中运行所述回调函数。
11.根据权利要求8所述的装置,其特征在于,所述发送模块,包括:
转换子模块,用于将所述输入参数转换为字符串格式,得到字符串格式的输入参数;
发送子模块,用于将所述字符串格式的输入参数以消息的方式发送至应用程序。
12.根据权利要求11所述的装置,其特征在于,所述调用模块,包括:
接收子模块,用于在应用程序中接收所述字符串格式的输入参数;
转换子模块,用于将所述字符串格式的输入参数转换为对象格式的输入参数;
解析子模块,用于解析所述对象格式的输入参数,得到所述接口的标识、所述调用函数的标识以及回调函数的标识。
13.根据权利要求8所述的装置,其特征在于,所述调用模块,还包括:
第一生成子模块,用于根据所述接口的标识,生成所述接口对应的方法选择器;
第二生成子模块,用于在所述应用程序中查找所述方法选择器,若存在所述方法选择器,则生成所述接口的方法声明。
14.根据权利要求8至13中任一项所述的装置,其特征在于,还包括:
第一加载模块,用于在浏览器中加载预封装的第一交互代码;其中,所述第一交互代码在运行时用于供所述浏览器执行调用应用程序的接口,利用所述接口接收输入参数,以及将所述接口的标识及所述输入参数发送至应用程序;
第二加载模块,用于在应用程序中加载预封装的第二交互代码;其中,所述第二交互代码在运行时用于供所述应用程序执行接收并解析所述接口的标识及所述输入参数,生成所述接口的方法声明,运行所述调用函数,得到运行结果。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211471849.8A CN115758026A (zh) | 2022-11-23 | 2022-11-23 | 应用程序与网络页面的交互方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211471849.8A CN115758026A (zh) | 2022-11-23 | 2022-11-23 | 应用程序与网络页面的交互方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115758026A true CN115758026A (zh) | 2023-03-07 |
Family
ID=85335740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211471849.8A Pending CN115758026A (zh) | 2022-11-23 | 2022-11-23 | 应用程序与网络页面的交互方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115758026A (zh) |
-
2022
- 2022-11-23 CN CN202211471849.8A patent/CN115758026A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101697139B (zh) | 一种远程过程调用方法、装置和注册库 | |
EP2437524A1 (en) | M2m service platform and work method thereof | |
CN105872083A (zh) | 一种支持不同类型客户端访问服务器的方法、服务器及系统 | |
CN113110963A (zh) | 业务处理方法、业务处理装置、电子设备及可读存储介质 | |
CN111338623B (zh) | 一种开发用户界面的方法、装置、介质和电子设备 | |
CN113032244B (zh) | 接口测试方法、装置、计算机系统和计算机可读存储介质 | |
CN106815524B (zh) | 恶意脚本文件的检测方法及装置 | |
CN102567400B (zh) | 一种实现Web访问的方法和Web服务器 | |
US20240346026A1 (en) | Service processing methods and apparatuses | |
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
CN111782988A (zh) | 确定应用程序来源的方法、装置、计算机系统和存储介质 | |
Rattanapoka et al. | An MQTT-based IoT cloud platform with flow design by Node-RED | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
US20130191492A1 (en) | Server-Side Minimal Download and Error Failover | |
CN112685023A (zh) | 基于基础库的前端开发处理方法、装置、设备和存储介质 | |
US20180074799A1 (en) | Integration for next-generation applications | |
US9811335B1 (en) | Assigning operational codes to lists of values of control signals selected from a processor design based on end-user software | |
US10268536B2 (en) | Secure debugging with an encrypted token | |
CN115033233A (zh) | 一种接口调用方法、装置、电子设备及存储介质 | |
CN116339690A (zh) | 业务流程的执行方法及其装置、电子设备及存储介质 | |
CN115758026A (zh) | 应用程序与网络页面的交互方法和装置 | |
CN115982257A (zh) | 接口创建方法以及相关设备 | |
CN108804088A (zh) | 协议处理方法和装置 | |
CN114237926A (zh) | 多平台交互方法、装置、设备、存储介质及计算机程序产品 | |
CN116136772A (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 |