CN107562548A - 传输数据的方法和装置 - Google Patents

传输数据的方法和装置 Download PDF

Info

Publication number
CN107562548A
CN107562548A CN201710665273.1A CN201710665273A CN107562548A CN 107562548 A CN107562548 A CN 107562548A CN 201710665273 A CN201710665273 A CN 201710665273A CN 107562548 A CN107562548 A CN 107562548A
Authority
CN
China
Prior art keywords
page
program
communications bridge
data
bridge
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
Application number
CN201710665273.1A
Other languages
English (en)
Inventor
姚鑫
曾沛彧
叶礼伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qunar Software Technology Co Ltd
Original Assignee
Beijing Qunar Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qunar Software Technology Co Ltd filed Critical Beijing Qunar Software Technology Co Ltd
Priority to CN201710665273.1A priority Critical patent/CN107562548A/zh
Publication of CN107562548A publication Critical patent/CN107562548A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种传输数据的方法和装置。其中,该方法包括:获取第一页面的第一程序和第二页面的第二程序,根据第一程序和第二程序建立通信桥,基于通信桥完成第一页面与第二页面之间的数据传输,其中,第一页面为应用程序页面,第二页面为浏览器页面。本发明解决了现有技术中应用程序页面与浏览器页面之间无法相互通信的技术问题。

Description

传输数据的方法和装置
技术领域
本发明涉及计算机软件领域,具体而言,涉及一种传输数据的方法和装置。
背景技术
目前,软件开发人员在开发应用时,针对不同的应用需要编写不同的代码。然而,随着应用的增多,在编写代码的过程中,软件开发人员针对不同的应用可能需要编写许多重复的代码。
针对上述问题,可以采用相应的技术来简化应用开发的过程,例如,在应用开发的过程中,一部分页面使用HTML5页面(即超文本标记语言第5代,即Web页面),另一部分页面使用Native页面(即本地页面,用原生语言开发的本地页面,其中,在IOS***下,使用Objective-C语言开发本地页面;在Android***下,使用Java语言开发本地页面)。然而,采用上述方法不能完成不同类型的页面之间的相互调用,以及参数传输的问题。因此,软件开发人员需要开发一种插件来避免开发人员撰写重复代码的问题,进而保证用户在不同的软件平台上有相同的体验。
针对上述问题,现有技术一般是针对某个页面在苹果或安卓的应用上打开一个浏览器窗口,然后在该窗口中显示静态页面。当用户通过浏览器打开应用时,再提供一个可以在浏览器中打开应用的页面。但当用户通过应用需要打开浏览器,并希望将应用上的数据传输到浏览器中时,或者用户通过浏览器打开应用时,希望将浏览器上的数据传输到应用中时,无法实现不同页面之间的相互通信。
针对上述现有技术中应用程序页面与浏览器页面之间无法相互通信的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种传输数据的方法和装置,以至少解决现有技术中应用程序页面与浏览器页面之间无法相互通信的技术问题。
根据本发明实施例的一个方面,提供了一种传输数据的方法,包括:获取第一页面的第一程序和第二页面的第二程序,其中,第一页面为应用程序页面,第二页面为浏览器页面;根据第一程序和第二程序建立通信桥;基于通信桥完成第一页面与第二页面之间的数据传输。
根据本发明实施例的另一方面,还提供了一种传输数据的装置,包括:获取模块,用于获取第一页面的第一程序和第二页面的第二程序,其中,第一页面为应用程序页面,第二页面为浏览器页面;建立模块,用于根据第一程序和第二程序建立通信桥;传输模块,用于基于通信桥完成第一页面与第二页面之间的数据传输。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行传输数据的方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行传输数据的方法。
在本发明实施例中,采用在软件平台间建立相互通信的桥梁的方式,通过获取第一页面的第一程序和第二页面的第二程序,并根据第一程序和第二程序建立通信桥,最后基于通信桥完成第一页面与第二页面之间的数据传输,其中,第一页面为应用程序页面,第二页面为浏览器页面,达到了对于不同的软件平台使用相同的通信桥梁进行通信的目的,从而实现了应用程序页面与浏览器页面之间相互通信的技术效果,进而解决了现有技术中应用程序页面与浏览器页面之间无法相互通信的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种传输数据的方法流程图;
图2是根据本发明实施例的一种可选的传输数据的方法流程图;
图3是根据本发明实施例的一种可选的Native代码与JS代码之间的通信示意图;
图4是根据本发明实施例的一种可选的传输数据的方法流程图;
图5是根据本发明实施例的一种可选的传输数据的方法流程图;
图6是根据本发明实施例的一种可选的传输数据的方法流程图;
图7是根据本发明实施例的一种可选的JS代码与Native代码之间的通信示意图;以及
图8是根据本发明实施例的一种传输数据的装置结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种传输数据的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的传输数据的方法流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取第一页面的第一程序和第二页面的第二程序,其中,第一页面为应用程序页面,第二页面为浏览器页面。
需要说明的是,第一程序和第二程序安装在同一个终端设备上,其中,终端设备可以为但不限于移动终端设备和非移动终端设备,移动终端设备可以为但不限于智能手机、平板、笔记本电脑等,非移动终端设备可以为但不限于台式电脑。
此外,还需要说明的是,通过第一页面可以打开第二页面,同样,通过第二页面也可以打开第一页面,例如,上述应用程序为微信,上述浏览器为UC浏览器,用户通过点击微信中的打开浏览器选项,打开安装在同一个终端设备上的UC浏览器;或者,用户通过点击UC浏览器中的链接来打开微信。
具体的,安装在终端设备上的插件可以实时获取到安装在终端设备上的应用程序的第一程序以及安装终端设备上的浏览器的第二程序,并且,安装在终端设备上的插件可以完成第一页面与第二页面之间的数据传输,例如,用户在通过UC浏览器打开淘宝客户端时,可以将用户在UC浏览器上所输入的账号和密码传输到淘宝客户端的登录界面上,此时,用户只需点击登录按钮即可,不需要再次输入账号和密码。
另外,在终端设备为IOS***的情况下,第一页面采用Objective-C语言开发,在终端设备为Android***的情况下,第一页面采用Java语言开发。第二页面采用JS语言(Java脚本,即JavaScript的简称)开发。
步骤S104,根据第一程序和第二程序建立通信桥。
需要说明的是,上述通信桥可以为但不限于JSBridge,主要用于实现Native代码(包括Objective-C和Java)与JS代码之间的双向通信。其中,通信桥至少包括如下之一:第一通信桥和第二通信桥,第一页面通过第一通信桥可访问第二页面的数据,第二页面通过第二通信桥可访问第一页面的数据。
此外,还需要说明的是,通过建立第一通信桥和第二通信桥即可实现第一页面与第二页面之间的双向通信。在建立第一页面与第二页面之间的通信桥之后,或者说在建立Native页面与HTML5页面之间的通信桥之后,软件开发人员不需要再次编写代码即可两种页面之间的数据传输,进而减少了软件开发人员的工作量。
步骤S106,基于通信桥完成第一页面与第二页面之间的数据传输。
需要说明的是,建立第一页面与第二页面的通信桥之后,当第二页面跳转到第一页面时,第一页面可通过第一通信桥获取到第二页面的数据;当第一页面跳转到第二页面时,第二页面可通过第二通信桥来获取第一页面的数据,进而通过通信桥实现了第一页面与第二页面的双向通信。
基于上述步骤S102至步骤S106所限定的方案,可以获知,通过获取第一页面的第一程序和第二页面的第二程序,并根据第一程序和第二程序建立通信桥,最后基于通信桥完成第一页面与第二页面之间的数据传输,其中,第一页面为应用程序页面,第二页面为浏览器页面。
容易注意到的是,在应用程序与浏览器之间建立通信桥,进而通过通信桥来完成应用程序与浏览器之间的双向通信,即实现了应用程序的页面与浏览器页面之间的相互调用,以及参数的相互传输。此外,在建立通信桥之后,软件开发人员不需要再针对每一个软件平台而编写各自的兼容代码,进而减少了软件开发人员的工作量。
本申请的上述实施例可以达到对于不同的软件平台使用相同的通信桥梁进行通信的目的,从而实现了应用程序页面与浏览器页面之间相互通信的技术效果,进而解决了现有技术中应用程序页面与浏览器页面之间无法相互通信的技术问题。
在一种可选的实施例中,图2示出了一种可选的传输数据的方法流程图,如图2所示,基于第一通信桥完成第一页面与第二页面之间的数据传输,具体包括如下步骤:
步骤S202,第一程序获取到第二页面的接口;
步骤S204,第一程序通过接口调用第二页面的窗口对象的调用方法;
步骤S206,第一程序根据调用方法建立第一通信桥;
步骤S208,第一程序根据第一通信桥获取第二页面的第一数据。
需要说明的是,第二页面的接口可以为但不限于API接口(ApplicationProgramming Interface,即应用程序编程接口),第一页面的第一程序通过API接口可直接调用第二页面的window对象的方法。在第一程序完成对上述方法的调用之后,便完成了第一通信桥的建立。在第一通信桥建立完成之后,第一程序通过第一通信桥接口获取到第二页面上的第一数据。
此外,还需要说明的是,在第一程序获取到第二页面的接口之前,第二程序将接口绑定到第二页面的窗口对象上。其中,上述窗口对象为window对象。
在一种可选的实施例中,如图3所示的一种可选的Native代码与JS代码之间的通信示意图,在图3中,APP表示应用程序页面,H5表示浏览器页面。首先,对浏览器页面进行初始化,此时,第二程序将一组需要给Native代码访问的方法(即通过API访问的方法)绑定在页面窗体(例如,WebView)的window对象上,此时,第一页面的Native代码通过绑定在WebView的window对象上的接口可直接调用JS方法,即完成了第一页面与第二页面之间的第一通信桥的建立。其中,可以使用如下代码将API绑定到window对象上:
另外,在Native代码为IOS***下的开发语言Objective-C的情况下,可以使用如下代码来调用JS方法:
NSString*result=[self.webViewstringByEvaluatingJavaScriptFromString:@“funcTest()”];
在一种可选的实施例中,图4示出了一种可选的传输数据的方法流程图,如图4所示,基于第二通信桥完成第一页面与第二页面之间的数据传输,具体包括如下步骤:
步骤S402,第二程序获取第二页面的窗口对象中的引用方法;
步骤S404,第二程序根据引用方法建立第二通信桥;
步骤S406,第二程序根据第二通信桥向第一页面发送访问请求;
步骤S408,第二程序根据第一页面的反馈信息得到第一页面的第二数据。
需要说明的是,第二程序在window对象中注入JSBridge的全局对象,在JSBridge中具有invoke方法,即上述引用方法,第二程序根据invoke方法可建立第一页面与第二页面之间的桥梁,即建立第二通信桥。在完成第二通信桥之后,第二程序可向第一页面发送访问数据的访问请求,进而获取到第一页面上的数据。
其中,图5示出了一种可选的传输数据的方法流程图,如图5所示,第二程序根据第二通信桥向第一页面发送访问请求,具体包括如下步骤:
步骤S502,第二程序获取引用方法的引用参数,其中,引用参数至少包括如下之一:引用方法的名称以及调用引用方法所需要的调用参数;
步骤S504,第二程序对引用参数进行处理,得到标识字符串;
步骤S506,第二程序根据标识字符串向第一页面发送访问请求。
在一种可选的实施例中,invoke方法将引用方法所对应的名称以及该方法所调用的参数处理成一个JSON字符串(即上述标识字符串),并将该字符串追加到“iphone://invoke?”的后面,从而得到第二页面的URL(Uniform Resource Locator,即统一资源定位符),最后通过第二程序中的iframe来加载第二页面的URL。例如,在JavaScript中通过JSBridge.invoke(“myFunction”,param)来调用上述引用方法,其中,JSBridge.invoke()在页面中可通过原生代码(即Native代码)注入到WebView中,具体可采用如下代码实现:
NSString*js=@"(function(){\
window.JSBridge={};\
window.JSBridge.invoke=function(functionName,args){\
var url=\"qunariphone://invoke?\";\
var callParam={functionname:functionName};\
if(args)\
{\
callParam.args=args;\
}\
url+=JSON.stringify(callParam);\
var rootElm=document.documentElement;\
var iframe=document.createElement(\"IFRAME\");\
iframe.setAttribute(\"src\",url);\
rootElm.appendChild(iframe);\
iframe.parentNode.removeChild(iframe);\
};\
return true;\
})();";
[webView stringByEvaluatingJavaScriptFromString:js];
需要说明的是,在第二程序根据第二通信桥向第一页面发送访问请求之后,第一程序还需要执行如下步骤:
步骤S508,第一程序获取访问请求;
步骤S510,第一程序对访问请求进行解析处理,得到解析结果;
步骤S512,在解析结果满足预设条件的情况下,第一程序向第二页面发送第二数据。
在一种可选的实施例中,第一程序可拦截到第二程序发送的访问请求,并从访问请求中解析得到上述引用方法的方法名(即上述代码中的functionName)以及方法调用参数(即上述代码中的args),并根据得到的方法名和方法调用参数来确定第二页面是否能够访问第一页面的数据。
其中,根据方法名和方法调用参数来确定第二页面能否访问第一页面的数据的方法如图6所示,其中,在解析结果满足预设条件的情况下,第一程序向第二页面发送第二数据,具体包括如下步骤:
步骤S602,第一程序判断引用方法的名称是否与预设方法的名称相匹配;
步骤S604,在引用方法的名称是否与预设方法的名称相匹配的情况下,第一程序根据调用参数调用预设方法;
步骤S606,第一程序根据预设方法发送第二数据。
在一种可选的实施例中,第一程序在获取到引用方法的名称以及方法调用参数(上述调用参数)之后,根据引用方法名称在第一页面所对应的程序中查找是否存在名称为functionName的方法,如果存在,则把调用参数(即args)作为预设方法的参数对调用Native代码中的方法,至此,便建立了第二页面访问第一页面的数据的第二通信桥。其中,在Native代码中的引用方法为:(void)myFunction:(NSString*)args{}。
在另一种可选的实施例中,如图7所示的一种可选的JS代码与Native代码之间的通信示意图,在图7中,浏览器页面的第二程序通过invoke方法将方法名和方法调用参数处理成一个JSON字符串,从而得到修改API的URL上的值的目的。在对URL的数值进行修改之后,第二程序通过iframe来加载URL,并向第一页面发送访问请求。第一程序拦截到该访问请求,并对该访问请求进行解析,得到解析值,并根据得到的URL值将相应的数据传输到第二页面中。
实施例2
根据本发明实施例,还提供了一种传输数据的装置实施例。
图8是根据本发明实施例的传输数据的装置结构示意图,如图8所示,该装置包括:获取模块801、建立模块803以及传输模块805。
其中,获取模块801,用于获取第一页面的第一程序和第二页面的第二程序,其中,第一页面为应用程序页面,第二页面为浏览器页面;建立模块803,用于根据第一程序和第二程序建立通信桥;传输模块805,用于基于通信桥完成第一页面与第二页面之间的数据传输。
需要说明的是,上述获取模块801、建立模块803以及传输模块805对应于实施例1中的步骤S102至步骤S106,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,通信桥至少包括如下之一:第一通信桥和第二通信桥,其中,第一页面通过第一通信桥访问第二页面的数据,第二页面通过第二通信桥访问第一页面的数据。
在一种可选的实施例中,传输模块包括:第一获取模块、第一调用模块、第一建立模块以及第二获取模块。其中,第一获取模块,用于第一程序获取到第二页面的接口;第一调用模块,用于第一程序通过接口调用第二页面的窗口对象的调用方法;第一建立模块,用于第一程序根据调用方法建立第一通信桥;第二获取模块,用于第一程序根据第一通信桥获取第二页面的第一数据。
需要说明的是,上述第一获取模块、第一调用模块、第一建立模块以及第二获取模块对应于实施例1中的步骤S202至步骤S208,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,传输模块还包括:绑定模块。其中,绑定模块,用于第二程序将接口绑定到第二页面的窗口对象上。
在一种可选的实施例中,传输模块包括:第三获取模块、第二建立模块、第一发送模块以及确定模块。其中,第三获取模块,用于第二程序获取第二页面的窗口对象中的引用方法;第二建立模块,用于第二程序根据引用方法建立第二通信桥;第一发送模块,用于第二程序根据第二通信桥向第一页面发送访问请求;确定模块,用于第二程序根据第一页面的反馈信息得到第一页面的第二数据。
需要说明的是,上述第三获取模块、第二建立模块、第一发送模块以及确定模块对应于实施例1中的步骤S402至步骤S408,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,发送模块包括:第四获取模块、处理模块以及第二发送模块。其中,第四获取模块,用于第二程序获取引用方法的引用参数,其中,引用参数至少包括如下之一:引用方法的名称以及调用引用方法所需要的调用参数;处理模块,用于第二程序对引用参数进行处理,得到标识字符串;第二发送模块,用于第二程序根据标识字符串向第一页面发送访问请求。
需要说明的是,上述第四获取模块、处理模块以及第二发送模块对应于实施例1中的步骤S502至步骤S506,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,发送模块还包括:第五获取模块、解析模块以及第三发送模块。其中,第五获取模块,用于第一程序获取访问请求;解析模块,用于第一程序对访问请求进行解析处理,得到解析结果;第三发送模块,用于在解析结果满足预设条件的情况下,第一程序向第二页面发送第二数据。
需要说明的是,上述第四获取模块、处理模块以及第二发送模块对应于实施例1中的步骤S508至步骤S512,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
在一种可选的实施例中,第三发送模块包括:匹配模块、第二调用模块以及第四发送模块。其中,匹配模块,用于第一程序判断引用方法的名称是否与预设方法的名称相匹配;第二调用模块,用于在引用方法的名称是否与预设方法的名称相匹配的情况下,第一程序根据调用参数调用预设方法;第四发送模块,用于第一程序根据预设方法发送第二数据。
需要说明的是,上述匹配模块、第二调用模块以及第四发送模块对应于实施例1中的步骤S602至步骤S606,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
实施例3
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,程序执行实施例1中的传输数据的方法。
实施例4
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行实施例1中的传输数据的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种传输数据的方法,其特征在于,包括:
获取第一页面的第一程序和第二页面的第二程序,其中,所述第一页面为应用程序页面,所述第二页面为浏览器页面;
根据所述第一程序和所述第二程序建立通信桥;
基于所述通信桥完成所述第一页面与所述第二页面之间的数据传输。
2.根据权利要求1所述的方法,其特征在于,所述通信桥至少包括如下之一:第一通信桥和第二通信桥,其中,所述第一页面通过所述第一通信桥访问所述第二页面的数据,所述第二页面通过所述第二通信桥访问所述第一页面的数据。
3.根据权利要求2所述的方法,其特征在于,基于所述第一通信桥完成所述第一页面与所述第二页面之间的数据传输,包括:
所述第一程序获取到所述第二页面的接口;
所述第一程序通过所述接口调用所述第二页面的窗口对象的调用方法;
所述第一程序根据所述调用方法建立所述第一通信桥;
所述第一程序根据所述第一通信桥获取所述第二页面的第一数据。
4.根据权利要求3所述的方法,其特征在于,在所述第一程序获取到所述第二页面的接口之前,所述方法还包括:
所述第二程序将所述接口绑定到所述第二页面的窗口对象上。
5.根据权利要求2所述的方法,其特征在于,基于所述第二通信桥完成所述第一页面与所述第二页面之间的数据传输,包括:
所述第二程序获取所述第二页面的窗口对象中的引用方法;
所述第二程序根据所述引用方法建立所述第二通信桥;
所述第二程序根据所述第二通信桥向所述第一页面发送访问请求;
所述第二程序根据所述第一页面的反馈信息得到所述第一页面的第二数据。
6.根据权利要求5所述的方法,其特征在于,所述第二程序根据所述第二通信桥向所述第一页面发送访问请求,包括:
所述第二程序获取所述引用方法的引用参数,其中,所述引用参数至少包括如下之一:所述引用方法的名称以及调用所述引用方法所需要的调用参数;
所述第二程序对所述引用参数进行处理,得到标识字符串;
所述第二程序根据所述标识字符串向所述第一页面发送所述访问请求。
7.根据权利要求6所述的方法,其特征在于,在所述第二程序根据所述第二通信桥向所述第一页面发送访问请求之后,所述方法还包括:
所述第一程序获取所述访问请求;
所述第一程序对所述访问请求进行解析处理,得到解析结果;
在所述解析结果满足预设条件的情况下,所述第一程序向所述第二页面发送所述第二数据。
8.根据权利要求7所述的方法,其特征在于,在所述解析结果满足预设条件的情况下,所述第一程序向所述第二页面发送所述第二数据,包括:
所述第一程序判断所述引用方法的名称是否与预设方法的名称相匹配;
在所述引用方法的名称是否与所述预设方法的名称相匹配的情况下,所述第一程序根据所述调用参数调用所述预设方法;
所述第一程序根据所述预设方法发送所述第二数据。
9.一种传输数据的装置,其特征在于,包括:
获取模块,用于获取第一页面的第一程序和第二页面的第二程序,其中,所述第一页面为应用程序页面,所述第二页面为浏览器页面;
建立模块,用于根据所述第一程序和所述第二程序建立通信桥;
传输模块,用于基于所述通信桥完成所述第一页面与所述第二页面之间的数据传输。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至8中任意一项所述的传输数据的方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的传输数据的方法。
CN201710665273.1A 2017-08-04 2017-08-04 传输数据的方法和装置 Pending CN107562548A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710665273.1A CN107562548A (zh) 2017-08-04 2017-08-04 传输数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710665273.1A CN107562548A (zh) 2017-08-04 2017-08-04 传输数据的方法和装置

Publications (1)

Publication Number Publication Date
CN107562548A true CN107562548A (zh) 2018-01-09

Family

ID=60975252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710665273.1A Pending CN107562548A (zh) 2017-08-04 2017-08-04 传输数据的方法和装置

Country Status (1)

Country Link
CN (1) CN107562548A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733377A (zh) * 2018-05-14 2018-11-02 广东蜂助手网络技术股份有限公司 一种App中网页端与手机端的JS交互方法
CN109062626A (zh) * 2018-07-09 2018-12-21 北京奇艺世纪科技有限公司 Web页面组件与Native组件的交互方法、装置及设备
CN109358833A (zh) * 2018-10-16 2019-02-19 阿里巴巴集团控股有限公司 一种音频播放方法及***、一种计算设备及存储介质
CN109871198A (zh) * 2019-01-31 2019-06-11 上海智臻智能网络科技股份有限公司 一种应用交互需求适配方法及装置
WO2019153492A1 (zh) * 2018-02-07 2019-08-15 平安科技(深圳)有限公司 实现web与原生功能交互的方法、电子装置及可读存储介质
CN110515742A (zh) * 2019-07-17 2019-11-29 网易(杭州)网络有限公司 终端中的通信方法及装置
CN110543372A (zh) * 2019-09-10 2019-12-06 北京百度网讯科技有限公司 移动终端原生端与h5端交互的方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819451A (zh) * 2011-06-09 2012-12-12 深圳市财付通科技有限公司 一种浏览器插件调用方法及***
US20140012974A1 (en) * 2012-07-09 2014-01-09 ALC, Spol. S.R.O. On-line system for monitoring user activities on an it device
CN104219078A (zh) * 2013-06-04 2014-12-17 阿里巴巴集团控股有限公司 一种多运行时环境数据的处理方法和装置
CN104714980A (zh) * 2013-12-17 2015-06-17 阿里巴巴集团控股有限公司 页面嵌套路径确定方法及装置
CN104954501A (zh) * 2014-03-31 2015-09-30 北京金山网络科技有限公司 跨域信息交互方法、装置及***
CN105718512A (zh) * 2016-01-13 2016-06-29 北京齐尔布莱特科技有限公司 一种在Ios***中利用JS语言调用原生语言的方法
CN106648630A (zh) * 2016-12-01 2017-05-10 北京趣拿软件科技有限公司 页面获取方法及装置
CN106873961A (zh) * 2016-07-27 2017-06-20 阿里巴巴集团控股有限公司 通过移动浏览器唤醒app应用的方法及装置
CN106959902A (zh) * 2017-03-31 2017-07-18 山东超越数控电子有限公司 一种完成js到java层通讯的实现方法及应用

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819451A (zh) * 2011-06-09 2012-12-12 深圳市财付通科技有限公司 一种浏览器插件调用方法及***
US20140012974A1 (en) * 2012-07-09 2014-01-09 ALC, Spol. S.R.O. On-line system for monitoring user activities on an it device
CN104219078A (zh) * 2013-06-04 2014-12-17 阿里巴巴集团控股有限公司 一种多运行时环境数据的处理方法和装置
CN104714980A (zh) * 2013-12-17 2015-06-17 阿里巴巴集团控股有限公司 页面嵌套路径确定方法及装置
CN104954501A (zh) * 2014-03-31 2015-09-30 北京金山网络科技有限公司 跨域信息交互方法、装置及***
CN105718512A (zh) * 2016-01-13 2016-06-29 北京齐尔布莱特科技有限公司 一种在Ios***中利用JS语言调用原生语言的方法
CN106873961A (zh) * 2016-07-27 2017-06-20 阿里巴巴集团控股有限公司 通过移动浏览器唤醒app应用的方法及装置
CN106648630A (zh) * 2016-12-01 2017-05-10 北京趣拿软件科技有限公司 页面获取方法及装置
CN106959902A (zh) * 2017-03-31 2017-07-18 山东超越数控电子有限公司 一种完成js到java层通讯的实现方法及应用

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019153492A1 (zh) * 2018-02-07 2019-08-15 平安科技(深圳)有限公司 实现web与原生功能交互的方法、电子装置及可读存储介质
CN108733377A (zh) * 2018-05-14 2018-11-02 广东蜂助手网络技术股份有限公司 一种App中网页端与手机端的JS交互方法
CN109062626A (zh) * 2018-07-09 2018-12-21 北京奇艺世纪科技有限公司 Web页面组件与Native组件的交互方法、装置及设备
CN109358833A (zh) * 2018-10-16 2019-02-19 阿里巴巴集团控股有限公司 一种音频播放方法及***、一种计算设备及存储介质
CN109358833B (zh) * 2018-10-16 2022-03-22 创新先进技术有限公司 一种音频播放方法及***、一种计算设备及存储介质
CN109871198A (zh) * 2019-01-31 2019-06-11 上海智臻智能网络科技股份有限公司 一种应用交互需求适配方法及装置
CN109871198B (zh) * 2019-01-31 2022-10-25 上海智臻智能网络科技股份有限公司 一种应用交互需求适配方法及装置
CN110515742A (zh) * 2019-07-17 2019-11-29 网易(杭州)网络有限公司 终端中的通信方法及装置
CN110543372A (zh) * 2019-09-10 2019-12-06 北京百度网讯科技有限公司 移动终端原生端与h5端交互的方法及装置
CN110543372B (zh) * 2019-09-10 2023-03-28 北京百度网讯科技有限公司 移动终端原生端与h5端交互的方法及装置

Similar Documents

Publication Publication Date Title
CN107562548A (zh) 传输数据的方法和装置
CA2915619C (en) Method and apparatus for customized software development kit (sdk) generation
CN106682028A (zh) 获取网页应用的方法、装置及***
Gundavaram CGI programming on the World Wide Web
CN104468592B (zh) 登录方法和登录***
CN106990966A (zh) 基于前端框架的移动端跨平台应用开发框架及开发方法
CN105653933B (zh) 插件加载方法及装置
CN107622135A (zh) 用于显示信息的方法和装置
CN105631030A (zh) 一种通用的网络爬虫模拟登录方法及***
CN107844324A (zh) 客户端页面跳转处理方法和装置
CN107305528B (zh) 应用测试方法和装置
CN102323880A (zh) 基于浏览器解析方式的手机应用界面的开发方法和终端
CN106569856A (zh) 一种应用视图资源文件的加载方法和装置
CN107291759A (zh) 浏览器页面资源的处理方法和装置
CN104050212A (zh) 调用网络应用以利用本地设备性能的方法及***
CN112416458A (zh) 基于ReactNative的预加载方法、装置、计算机设备及存储介质
CN108416021A (zh) 一种浏览器网页内容处理方法、装置、电子设备及可读介质
CN108255936A (zh) 一种网页的编辑方法、***及编辑器
CN103019712A (zh) 集成应用
CN106095598A (zh) 一种数据处理方法及客户端
CN105718512A (zh) 一种在Ios***中利用JS语言调用原生语言的方法
CN104142975A (zh) 一种基于微博消息的推广方法、装置及***
CN103577180A (zh) 数据处理方法及装置
CN105786476A (zh) 移动客户端与服务器之间的数据处理方法及***
CN109327530A (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

Application publication date: 20180109

RJ01 Rejection of invention patent application after publication