一种页面数据交互方法、相关装置及系统的制作方法
【技术领域】
[0001]本发明涉及计算机互联网领域,尤其涉及页面数据交互方法、相关装置及系统。
【背景技术】
[0002]在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做Open API,提供开放应用程序编程接口(Applicat1n Programming Interface,API)的平台本身就被称为开放平台。通过开放平台,网站不仅能提供对Web网页的简单访问,还可以进行复杂的数据交互。
[0003]随着电子科技以及互联网技术的发展,电子设备(特别是智能移动设备)的功能越来越强大,只要用户按照自身的需求在电子设备上安装各种应用程序,便可以完成各种事务。当前,智能移动终端(比如手机)的页面开放往往是根据0Auth2.0的方式来实现,即第三方开发者需要申请一个用户名(例如appld)与密钥信息(例如appKey),在用户授权之后,通过0Auth2.0的认证方法进行权限验证,最终获得用户授权的数据。
[0004]然而,现有技术中,0Auth2.0鉴权实现比较复杂,获取一次用户授权,至少来回请求3次,在目前的手机网络速度下,这是一个用户漫长等待的过程(整个页面空白),很多用户因此失去耐心而直接退出页面,导致用户流失;而且在第三方开发过程中,需要设置相关系统来支持第三方开发者来申请开发权限,即系统往往会要求第三方开发者先到预设平台申请开发权限(即申请的用户名与密钥信息),然后才能正常开发,开发成本巨大;另外,第三方开发者还需要对申请的密钥信息进行保密,如果泄漏,其开发权限将会被人复制利用,对用户造成严重损失。
【发明内容】
[0005]本发明实施例所要解决的技术问题在于,提供一种页面数据交互方法、页面数据交互装置以及页面数据交互系统,可以避免使用开发和维护成本较高的鉴权方式(如0Auth2.0),解决了现有技术中认证流程复杂冗长的技术问题,加快了页面的展现速度。
[0006]为了解决上述技术问题,本发明实施例第一方面公开了一种页面数据交互方法,包括:
[0007]监听基于嵌套框架的跨域触发事件;
[0008]当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API ;其中,所述子页面嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;
[0009]当判断结果为是时,所述父页面根据所述跨域API请求向服务器发送数据请求;
[0010]所述父页面接收所述服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面。
[0011]结合第一方面,在第一种可能的实现方式中,所述父页面将所述数据通过跨域消息传输方式发送给所述子页面之后,还包括:
[0012]所述子页面监听到所述父页面通过跨域消息传输方式发送的数据;
[0013]所述子页面获取并根据所述数据进行数据操作。
[0014]结合第一方面,在第二种可能的实现方式中,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API之后,还包括:
[0015]当判断结果为否时,则所述父页面向所述子页面返回请求失败提示信息。
[0016]结合第一方面,在第三种可能的实现方式中,所述跨域API请求对应有所述子页面生成的唯一标识,用于指示所述跨域API请求由所述子页面发起;
[0017]所述父页面接收到服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面包括:根据所述跨域API请求对应的唯一标识,通过跨域消息传输方式向发起所述跨域API请求的子页面发送所述数据。
[0018]结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述子页面通过跨域消息传输方式发起的跨域API请求包括:所述子页面通过postMessage发起的跨域API请求;或者
[0019]所述父页面将所述数据通过跨域消息传输方式发送给所述子页面包括:所述父页面将所述数据通过postMessage发送给所述子页面。
[0020]本发明实施例第二方面公开了一种页面数据交互装置,包括:
[0021]监听模块,用于监听基于嵌套框架的跨域触发事件;
[0022]父页面判断模块,用于当父页面通过所述监听模块监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API ;其中,所述子页面嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;
[0023]第一判断处理模块,用于当所述父页面判断模块的判断结果为是时,所述父页面根据所述跨域API请求向服务器发送数据请求;
[0024]数据发送模块,用于在所述父页面接收所述服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面。
[0025]结合第二方面,在第一种可能的实现方式中,当所述数据发送模块将所述数据通过跨域消息传输方式发送给所述子页面之后,所述子页面通过所述监听模块监听到所述父页面通过跨域消息传输方式发送的数据;所述装置还包括:
[0026]数据操作模块,用于获取所述数据,并根据所述数据进行数据操作。
[0027]结合第二方面,在第二种可能的实现方式中,所述装置还包括:
[0028]第二判断处理模块,用于当所述父页面判断模块的判断结果为否时,所述父页面向所述子页面返回请求失败提示信息。
[0029]结合第二方面,在第三种可能的实现方式中,所述跨域API请求对应有所述子页面生成的唯一标识,用于指示所述跨域API请求由所述子页面发起;
[0030]所述数据发送模块具体用于:在所述父页面接收所述服务器返回的数据后,根据所述跨域API请求对应的唯一标识,通过跨域消息传输方式向发起所述跨域API请求的子页面发送所述数据。
[0031]结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述子页面通过跨域消息传输方式发起的跨域API请求包括:所述子页面通过postMessage发起的跨域API请求;或者
[0032]所述数据发送模块将所述数据通过跨域消息传输方式发送给所述子页面包括:将所述数据通过postMessage发送给所述子页面。
[0033]本发明实施例第三方面公开了页面数据交互系统,包括用户设备与服务器,其中
[0034]所述用户设备监听基于嵌套框架的跨域触发事件;当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API ;其中,所述子页面嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;当判断结果为是时,所述父页面根据所述跨域API请求向所述服务器发送数据请求;用户设备1002接收所述服务器返回的数据后,所述父页面将所述数据通过跨域消息传输方式发送给所述子页面。
[0035]结合第三方面,在第一种可能的实现方式中,所述用户设备包括上述第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,或者第二方面的第四种可能的实现方式中的页面数据交互
目.ο
[0036]本发明实施例第四方面公开了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括本发明实施例第一方面、或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式中的页面数据交互方法的全部步骤。
[0037]实施本发明实施例,通过监听基于嵌套框架的跨域触