CN104572263B - 一种页面数据交互方法、相关装置及系统 - Google Patents
一种页面数据交互方法、相关装置及系统 Download PDFInfo
- Publication number
- CN104572263B CN104572263B CN201410842991.8A CN201410842991A CN104572263B CN 104572263 B CN104572263 B CN 104572263B CN 201410842991 A CN201410842991 A CN 201410842991A CN 104572263 B CN104572263 B CN 104572263B
- Authority
- CN
- China
- Prior art keywords
- cross
- domain
- data
- parent page
- subpage frame
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了页面数据交互方法,包括:监听基于嵌套框架的跨域触发事件;当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,父页面判断跨域API请求中请求的API是否为父页面提供的API;其中,子页面嵌套于父页面中,子页面与父页面属于不同的域;当判断为是时,父页面根据跨域API请求向服务器发送数据请求;父页面接收服务器返回的数据后,将数据通过跨域消息传输方式发送给子页面。本发明还公开了一种页面数据交互装置、设备及系统,采用本发明,可以避免使用开发和维护成本较高的鉴权方式,解决了现有技术中认证流程复杂冗长的技术问题。
Description
技术领域
本发明涉及计算机互联网领域,尤其涉及页面数据交互方法、相关装置及系统。
背景技术
在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做Open API,提供开放应用程序编程接口(Application Programming Interface,API)的平台本身就被称为开放平台。通过开放平台,网站不仅能提供对Web网页的简单访问,还可以进行复杂的数据交互。
随着电子科技以及互联网技术的发展,电子设备(特别是智能移动设备)的功能越来越强大,只要用户按照自身的需求在电子设备上安装各种应用程序,便可以完成各种事务。当前,智能移动终端(比如手机)的页面开放往往是根据OAuth2.0的方式来实现,即第三方开发者需要申请一个用户名(例如appId)与密钥信息(例如appKey),在用户授权之后,通过OAuth2.0的认证方法进行权限验证,最终获得用户授权的数据。
然而,现有技术中,OAuth2.0鉴权实现比较复杂,获取一次用户授权,至少来回请求3次,在目前的手机网络速度下,这是一个用户漫长等待的过程(整个页面空白),很多用户因此失去耐心而直接退出页面,导致用户流失;而且在第三方开发过程中,需要设置相关系统来支持第三方开发者来申请开发权限,即系统往往会要求第三方开发者先到预设平台申请开发权限(即申请的用户名与密钥信息),然后才能正常开发,开发成本巨大;另外,第三方开发者还需要对申请的密钥信息进行保密,如果泄漏,其开发权限将会被人复制利用,对用户造成严重损失。
发明内容
本发明实施例所要解决的技术问题在于,提供一种页面数据交互方法、页面数据交互装置以及页面数据交互系统,可以避免使用开发和维护成本较高的鉴权方式(如OAuth2.0),解决了现有技术中认证流程复杂冗长的技术问题,加快了页面的展现速度。
为了解决上述技术问题,本发明实施例第一方面公开了一种页面数据交互方法,包括:
监听基于嵌套框架的跨域触发事件;
当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;其中,所述子页面嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;
当判断结果为是时,所述父页面根据所述跨域API请求向服务器发送数据请求;
所述父页面接收所述服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面。
结合第一方面,在第一种可能的实现方式中,所述父页面将所述数据通过跨域消息传输方式发送给所述子页面之后,还包括:
所述子页面监听到所述父页面通过跨域消息传输方式发送的数据;
所述子页面获取并根据所述数据进行数据操作。
结合第一方面,在第二种可能的实现方式中,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API之后,还包括:
当判断结果为否时,则所述父页面向所述子页面返回请求失败提示信息。
结合第一方面,在第三种可能的实现方式中,所述跨域API请求对应有所述子页面生成的唯一标识,用于指示所述跨域API请求由所述子页面发起;
所述父页面接收到服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面包括:根据所述跨域API请求对应的唯一标识,通过跨域消息传输方式向发起所述跨域API请求的子页面发送所述数据。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述子页面通过跨域消息传输方式发起的跨域API请求包括:所述子页面通过postMessage发起的跨域API请求;或者
所述父页面将所述数据通过跨域消息传输方式发送给所述子页面包括:所述父页面将所述数据通过postMessage发送给所述子页面。
本发明实施例第二方面公开了一种页面数据交互装置,包括:
监听模块,用于监听基于嵌套框架的跨域触发事件;
父页面判断模块,用于当父页面通过所述监听模块监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;其中,所述子页面嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;
第一判断处理模块,用于当所述父页面判断模块的判断结果为是时,所述父页面根据所述跨域API请求向服务器发送数据请求;
数据发送模块,用于在所述父页面接收所述服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面。
结合第二方面,在第一种可能的实现方式中,当所述数据发送模块将所述数据通过跨域消息传输方式发送给所述子页面之后,所述子页面通过所述监听模块监听到所述父页面通过跨域消息传输方式发送的数据;所述装置还包括:
数据操作模块,用于获取所述数据,并根据所述数据进行数据操作。
结合第二方面,在第二种可能的实现方式中,所述装置还包括:
第二判断处理模块,用于当所述父页面判断模块的判断结果为否时,所述父页面向所述子页面返回请求失败提示信息。
结合第二方面,在第三种可能的实现方式中,所述跨域API请求对应有所述子页面生成的唯一标识,用于指示所述跨域API请求由所述子页面发起;
所述数据发送模块具体用于:在所述父页面接收所述服务器返回的数据后,根据所述跨域API请求对应的唯一标识,通过跨域消息传输方式向发起所述跨域API请求的子页面发送所述数据。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述子页面通过跨域消息传输方式发起的跨域API请求包括:所述子页面通过postMessage发起的跨域API请求;或者
所述数据发送模块将所述数据通过跨域消息传输方式发送给所述子页面包括:将所述数据通过postMessage发送给所述子页面。
本发明实施例第三方面公开了页面数据交互系统,包括用户设备与服务器,其中
所述用户设备监听基于嵌套框架的跨域触发事件;当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;其中,所述子页面嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;当判断结果为是时,所述父页面根据所述跨域API请求向所述服务器发送数据请求;用户设备1002接收所述服务器返回的数据后,所述父页面将所述数据通过跨域消息传输方式发送给所述子页面。
结合第三方面,在第一种可能的实现方式中,所述用户设备包括上述第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,或者第二方面的第四种可能的实现方式中的页面数据交互装置。
本发明实施例第四方面公开了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括本发明实施例第一方面、或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式中的页面数据交互方法的全部步骤。
实施本发明实施例,通过监听基于嵌套框架的跨域触发事件,当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,父页面判断出所述跨域API请求中请求的API为所述父页面提供的API后,向服务器发送数据请求,从而可以避免使用开发和维护成本较高的鉴权方式,解决了现有技术中认证流程复杂冗长的技术问题,大大加快了页面展示速度,特别是在移动终端网络较慢的情况下,效果更佳显著;并且第三方开发者也无需关注授权相关流程,只需关注业务逻辑开发,大大提高了开发效率,节省了开发成本;另外,基于嵌套框架的跨域性,子页面不能直接操作和获取父页面的任何内容,提高了数据安全性;通过本发明实施例无需维护用户名和密钥信息的申请平台,第三方开发者也无需保存和保密密钥信息,有效避免了用户私密信息的泄露,提高了数据交互的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的页面数据交互方法的应用场景示意图;
图2是本发明实施例提供的页面数据交互方法的流程示意图;
图3是本发明实施例提供的页面数据交互方法原理示意图;
图4是本发明提供的子页面抽奖的第一实施例的示意图;
图5是本发明提供的子页面抽奖的第二实施例的示意图;
图6是本发明实施例提供的页面数据交互装置的结构示意图;
图7是本发明提供的页面数据交互装置的另一实施例的结构示意图;
图8是本发明提供的页面数据交互装置的另一实施例的结构示意图;
图9是本发明提供的页面数据交互装置的另一实施例的结构示意图;
图10是本发明实施例提供的页面数据交互系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明各个实施例可以基于图1所示的应用场景来实施,用户可以通过带有页面显示功能的用户设备打开页面并进行页面操作,页面相应用户的操作,并通过用户设备与服务器进行数据交互,从服务器获取需要的数据进行数据处理或操作。
本发明各个实施例中该用户设备可以包括但不限于带有页面显示功能的移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备。
下面结合图2至图6实施例来详细说明本发明页面数据交互方法的具体实施方式:
如图2示出的本发明实施例提供的页面数据交互方法的流程示意图,从用户设备侧来描述页面数据交互方法的技术方案,包括:
步骤S200:监听基于嵌套框架的跨域触发事件;
具体地,用户设备监听基于嵌套框架的跨域触发事件,本发明实施例中的基于嵌套框架的跨域触发事件包括执行从父页面跳转到子页面的触发指令、或者从子页面跳转到父页面的触发指令;该子页面与该父页面属于不同的域;
需要说明的是,本发明实施例中的嵌套框架包括但限于iframe嵌套,只要可以实现页面之间的跨域嵌套即可,本发明实施例不作限制;下面本发明实施例主要以嵌套框架iframe为例进行说明;可理解的是,本发明实施例中的父页面可以预先进行了封装,该父页面可以基于iframe嵌套有多个子页面,即各个iframe的地址分别指向各个子页面的地址;当用户设备打开该父页面,比如该用户设备通过浏览器打开某父页面,那么用户设备即实时监听基于iframe的跨域触发事件。
步骤S202:当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;
具体地,本发明实施例中的父页面只接受系统提供的应用程序编程接口(Application Programming Interface,API),即子页面只能向父页面请求系统中提供的API,那么当用户设备通过父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,该父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;
可理解的是,本发明实施例中的API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
步骤S204:当判断结果为是时,所述父页面根据所述跨域API请求向服务器发送数据请求;
具体地,当判断出该跨域API请求中请求的API为该父页面提供的API,即表明为合法的跨域API请求,那么用户设备通过该父页面根据该跨域API请求向服务器发送数据请求;该服务器接收到数据请求后,向该父页面返回相应的数据;
需要说明的是,当判断出跨域API请求中请求的API不为该父页面提供的API,即表明为不合法的跨域API请求,那么该父页面可以向该子页面返回请求失败提示信息,以指示该跨域API请求失败、错误或无效。
步骤S206:所述父页面接收所述服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面。
具体地,用户设备通过该父页面接收到该服务器返回的数据后,将该数据通过跨域消息传输方式发送给该子页面。
进一步地,步骤S206在将该数据通过跨域消息传输方式发送给该子页面之后,还可以包括,该子页面监听到该父页面通过跨域消息传输方式发送的数据;该子页面获取并根据所述数据进行数据操作。
下面结合图3、图4和图5,举一个实例进行说明:
如图3示出的本发明实施例提供的页面数据交互方法原理示意图,当用户通过用户设备(如智能移动终端,包括手机等)打开系统提供的某父页面,具体地用户需要在该父页面中进行登录,即输入登录账号与登录密码信息,那么该父页面获取该账号与密码(即该父页面可获取用户登录态),并在对账号与密码验证通过后,向用户展示父页面的页面内容;该父页面基于iframe嵌套有多个子页面,包括一个抽奖子页面,可理解的是,该抽奖子页面与该父页面为不同的域,可以为第三方开发者基于该父页面开发的抽奖子页面,该抽奖子页面不能获得该父页面获取的登录账号与登录密码信息;这样可以有效地防止用户私密信息泄露给第三方,同时又降低了第三方的开发成本,从而有效地提高第三方开发的效率;
当用户点击进行抽奖或者点击查看抽奖结果时,如图4示出的本发明提供的子页面抽奖的第一实施例的示意图,用户可以点击查看抽奖结果,那么该父页面即监听到子页面通过跨域消息传输方式发起的跨域API请求时,具体地该跨域API请求中请求的API为请求查看抽奖结果的API,然后该父页面判断该跨域API请求中请求的API是否为该父页面提供的用于查看抽奖结果的API;若是,那么该父页面根据该跨域API请求向服务器发送查看抽奖结果的数据请求,服务器根据该数据请求向该父页面返回抽奖结果信息,该父页面接收到该数据请求后,该抽奖结果信息通过跨域消息传输方式发送给该抽奖子页面,该抽奖子页面监听到该父页面通过跨域消息传输方式发送的抽奖结果信息;该子页面获取到该抽奖结果信息后,可以展示给用户,如图5示出的本发明提供的子页面抽奖的第二实施例的示意图。
需要说明的是,本发明实施例不限于用户通过子页面进行抽奖或者点击查看抽奖结果,即父页面除了可以包括抽奖子页面外,还可以包括其他子页面,比如图片浏览子页面(可以获取并浏览用户上传的图片)、留言查看子页面(可以获取并查看留言信息)等等,本发明实施例不作限制。
进一步地,本发明实施例中的跨域API请求对应有该子页面生成的唯一标识,用于指示该跨域API请求由该子页面发起;具体地,该子页面发送该跨域API请求的同时可以生成该跨域API请求对应的唯一标识,并发送该唯一标识给该父页面,从而使得该父页面获知当前跨域API请求是由该子页面发起的,那么后续当该父页面接收到服务器返回的数据后,将该数据通过跨域消息传输方式发送给该子页面可以包括:根据该跨域API请求对应的唯一标识,通过跨域消息传输方式向发起该跨域API请求的子页面发送该数据,从而可以针对多个子页面发起跨域API请求时,能准确地向子页面返回请求的数据。
再进一步地,本发明各个实施例中的跨域消息传输方式可以包括但不限于使用postMessage、或使用flash、或再嵌套一个iframe等等来进行跨域消息传输;即,该子页面通过postMessage发起的跨域API请求;该父页面将从服务器获取的数据通过postMessage发送给该子页面。
实施本发明实施例,通过监听基于嵌套框架的跨域触发事件,当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,父页面判断出所述跨域API请求中请求的API为所述父页面提供的API后,向服务器发送数据请求,从而可以避免使用开发和维护成本较高的鉴权方式,解决了现有技术中认证流程复杂冗长的技术问题,大大加快了页面展示速度,特别是在移动终端网络较慢的情况下,效果更佳显著;并且第三方开发者也无需关注授权相关流程,只需关注业务逻辑开发,大大提高了开发效率,节省了开发成本;另外,基于嵌套框架的跨域性,子页面不能直接操作和获取父页面的任何内容,提高了数据安全性;通过本发明实施例无需维护用户名和密钥信息的申请平台,第三方开发者也无需保存和保密密钥信息,有效避免了用户私密信息的泄露,提高了数据交互的安全性。
为了便于更好地实施本发明实施例的上述方案,本发明还对应提供了一种页面数据交互装置,如图6示出的本发明实施例提供的页面数据交互装置的结构示意图,页面数据交互装置60可以包括:监听模块600、父页面判断模块602、第一判断处理模块604和数据发送模块606,其中
监听模块600用于监听基于嵌套框架的跨域触发事件;
父页面判断模块602用于当父页面通过所述监听模块监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;其中,所述子页面嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;
第一判断处理模块604用于当父页面判断模块602的判断结果为是时,所述父页面根据所述跨域API请求向服务器发送数据请求;
数据发送模块606用于在所述父页面接收所述服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面。
具体地,如图7示出的本发明提供的页面数据交互装置的另一实施例的结构示意图,页面数据交互装置60包括监听模块600、父页面判断模块602、第一判断处理模块604和数据发送模块606外,还可以包括数据操作模块608,用于当数据发送模块606将所述数据通过跨域消息传输方式发送给所述子页面之后,获取所述数据,并根据所述数据进行数据操作。
具体地,如图8示出的本发明提供的页面数据交互装置的另一实施例的结构示意图,页面数据交互装置60包括监听模块600、父页面判断模块602、第一判断处理模块604和数据发送模块606外,还可以包括第二判断处理模块610,用于当所述父页面判断模块602的判断结果为否时,所述父页面向所述子页面返回请求失败提示信息。
进一步地,本发明实施例中的跨域API请求对应有所述子页面生成的唯一标识,用于指示所述跨域API请求由所述子页面发起;
数据发送模块606可以具体用于:在所述父页面接收所述服务器返回的数据后,根据所述跨域API请求对应的唯一标识,通过跨域消息传输方式向发起所述跨域API请求的子页面发送所述数据。
在进一步地,该子页面通过跨域消息传输方式发起的跨域API请求包括:所述子页面通过postMessage发起的跨域API请求;或者
数据发送模块606将该数据通过跨域消息传输方式发送给该子页面包括:将该数据通过postMessage发送给该子页面。
再进一步地,请参阅图9,图9是本发明提供的页面数据交互装置的另一实施例的结构示意图。其中,如图9所示,该页面数据交互装置90可以包括:至少一个处理器901,例如CPU,至少一个网络接口904,用户接口903,存储器905,以及至少一个通信总线902。其中,通信总线902用于实现这些组件之间的连接通信。其中,用户接口903可以包括显示屏(Display)9,可选用户接口903还可以包括标准的有线接口、无线接口。网络接口904可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器905可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器905可选的还可以是至少一个位于远离前述处理器901的存储装置。如图9所示,作为一种计算机存储介质的存储器905中可以包括操作系统、网络通信模块、用户接口模块以及页面数据交互程序。
在图9所示的页面数据交互装置90中,网络接口904主要用于连接服务器,与服务器进行数据通信;而处理器901可以用于调用存储器905中存储的页面数据交互装置程序,并执行以下操作:
监听基于嵌套框架的跨域触发事件;当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,该父页面判断该跨域API请求中请求的API是否为该父页面提供的API;其中,该子页面嵌套于该父页面中,该子页面与该父页面属于不同的域;当判断结果为是时,该父页面根据该跨域API请求向服务器发送数据请求;该父页面接收该服务器返回的数据后,将该数据通过跨域消息传输方式发送给该子页面。
具体地,该父页面将该数据通过跨域消息传输方式发送给该子页面之后,还包括:该子页面监听到该父页面通过跨域消息传输方式发送的数据;该子页面获取并根据该数据进行数据操作。
进一步地,该父页面判断该跨域API请求中请求的API是否为该父页面提供的API之后,还包括:
当判断结果为否时,则该父页面向该子页面返回请求失败提示信息。
再进一步地,该跨域API请求对应有该子页面生成的唯一标识,用于指示该跨域API请求由该子页面发起;
该父页面接收到服务器返回的数据后,将该数据通过跨域消息传输方式发送给该子页面包括:根据该跨域API请求对应的唯一标识,通过跨域消息传输方式向发起该跨域API请求的子页面发送该数据。
再进一步地,该子页面通过跨域消息传输方式发起的跨域API请求包括:该子页面通过postMessage发起的跨域API请求;或者
该父页面将该数据通过跨域消息传输方式发送给该子页面包括:该父页面将该数据通过postMessage发送给该子页面。
需要说明的是,本发明实施例中的页面数据交互装置60或页面数据交互装置90包括但不限于移动电话、移动电脑、平板电脑、个人数字助理、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备,页面数据交互装置60或页面数据交互装置90的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
请参阅图10,图10是本发明实施例提供的页面数据交互系统的结构示意图。如图10所示,该页面数据交互系统100可以包括服务器1000和用户设备1002,可理解的是,页面数据交互系统100可以包括多个用户设备1002,其中
用户设备1002监听基于嵌套框架的跨域触发事件;当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;其中,所述子页面嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;当判断结果为是时,所述父页面根据所述跨域API请求向服务器1000发送数据请求;用户设备1002接收所述服务器返回的数据后,所述父页面将所述数据通过跨域消息传输方式发送给所述子页面。
具体地,用户设备1002包括图6至图8的60,或者图9的页面数据交互装置90;页面数据交互系统100具体的如何页面数据交互,可以对应参考上述方法项实施例的描述,这里不再赘述。
综上所述,实施本发明实施例,通过监听基于嵌套框架的跨域触发事件,当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,父页面判断出所述跨域API请求中请求的API为所述父页面提供的API后,向服务器发送数据请求,从而可以避免使用开发和维护成本较高的鉴权方式,解决了现有技术中认证流程复杂冗长的技术问题,大大加快了页面展示速度,特别是在移动终端网络较慢的情况下,效果更佳显著;并且第三方开发者也无需关注授权相关流程,只需关注业务逻辑开发,大大提高了开发效率,节省了开发成本;另外,基于嵌套框架的跨域性,子页面不能直接操作和获取父页面的任何内容,提高了数据安全性;通过本发明实施例无需维护用户名和密钥信息的申请平台,第三方开发者也无需保存和保密密钥信息,有效避免了用户私密信息的泄露,提高了数据交互的安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种页面数据交互方法,其特征在于,包括:
监听基于嵌套框架的跨域触发事件;
当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;其中,所述子页面跨域嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;
当判断结果为是时,所述父页面根据所述跨域API请求向服务器发送数据请求;
所述父页面接收所述服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面。
2.如权利要求1所述的方法,其特征在于,所述父页面将所述数据通过跨域消息传输方式发送给所述子页面之后,还包括:
所述子页面监听到所述父页面通过跨域消息传输方式发送的数据;
所述子页面获取并根据所述数据进行数据操作。
3.如权利要求1所述的方法,其特征在于,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API之后,还包括:
当判断结果为否时,则所述父页面向所述子页面返回请求失败提示信息。
4.如权利要求1所述的方法,其特征在于,所述跨域API请求对应有所述子页面生成的唯一标识,用于指示所述跨域API请求由所述子页面发起;
所述父页面接收到服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面包括:根据所述跨域API请求对应的唯一标识,通过跨域消息传输方式向发起所述跨域API请求的子页面发送所述数据。
5.如权利要求1-4任一项所述的方法,其特征在于,所述子页面通过跨域消息传输方式发起的跨域API请求包括:所述子页面通过postMessage发起的跨域API请求;或者
所述父页面将所述数据通过跨域消息传输方式发送给所述子页面包括:所述父页面将所述数据通过postMessage发送给所述子页面。
6.一种页面数据交互装置,其特征在于,包括:
监听模块,用于监听基于嵌套框架的跨域触发事件;
父页面判断模块,用于当父页面通过所述监听模块监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;其中,所述子页面跨域嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;
第一判断处理模块,用于当所述父页面判断模块的判断结果为是时,所述父页面根据所述跨域API请求向服务器发送数据请求;
数据发送模块,用于在所述父页面接收所述服务器返回的数据后,将所述数据通过跨域消息传输方式发送给所述子页面。
7.如权利要求6所述的装置,其特征在于,当所述数据发送模块将所述数据通过跨域消息传输方式发送给所述子页面之后,所述子页面通过所述监听模块监听到所述父页面通过跨域消息传输方式发送的数据;所述装置还包括:
数据操作模块,用于获取所述数据,并根据所述数据进行数据操作。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二判断处理模块,用于当所述父页面判断模块的判断结果为否时,所述父页面向所述子页面返回请求失败提示信息。
9.如权利要求6所述的装置,其特征在于,所述跨域API请求对应有所述子页面生成的唯一标识,用于指示所述跨域API请求由所述子页面发起;
所述数据发送模块具体用于:在所述父页面接收所述服务器返回的数据后,根据所述跨域API请求对应的唯一标识,通过跨域消息传输方式向发起所述跨域API请求的子页面发送所述数据。
10.如权利要求6-9任一项所述的装置,其特征在于,所述子页面通过跨域消息传输方式发起的跨域API请求包括:所述子页面通过postMessage发起的跨域API请求;或者
所述数据发送模块将所述数据通过跨域消息传输方式发送给所述子页面包括:将所述数据通过postMessage发送给所述子页面。
11.一种页面数据交互系统,其特征在于,包括用户设备与服务器,其中
所述用户设备监听基于嵌套框架的跨域触发事件;当父页面监听到子页面通过跨域消息传输方式发起的跨域API请求时,所述父页面判断所述跨域API请求中请求的API是否为所述父页面提供的API;其中,所述子页面跨域嵌套于所述父页面中,所述子页面与所述父页面属于不同的域;当判断结果为是时,所述父页面根据所述跨域API请求向所述服务器发送数据请求;用户设备1002接收所述服务器返回的数据后,所述父页面将所述数据通过跨域消息传输方式发送给所述子页面。
12.如权利要求11所述的系统,其特征在于,所述用户设备包括如权利要求6-9任一项所述的页面数据交互装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410842991.8A CN104572263B (zh) | 2014-12-30 | 2014-12-30 | 一种页面数据交互方法、相关装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410842991.8A CN104572263B (zh) | 2014-12-30 | 2014-12-30 | 一种页面数据交互方法、相关装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572263A CN104572263A (zh) | 2015-04-29 |
CN104572263B true CN104572263B (zh) | 2017-11-07 |
Family
ID=53088413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410842991.8A Active CN104572263B (zh) | 2014-12-30 | 2014-12-30 | 一种页面数据交互方法、相关装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572263B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930378B (zh) * | 2016-04-13 | 2019-05-24 | 北京思特奇信息技术股份有限公司 | 一种从后台服务端处理html页面嵌套的方法及系统 |
CN107463588A (zh) * | 2016-06-03 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 数据提交判重方法 |
CN106919636A (zh) * | 2016-07-04 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 链接跳转方法及装置 |
CN108574709B (zh) * | 2017-03-10 | 2021-09-07 | 北京京东尚科信息技术有限公司 | 跨域操作的实现方法和装置 |
CN108200126A (zh) * | 2017-12-19 | 2018-06-22 | 阿里巴巴集团控股有限公司 | 对象上传方法及装置 |
CN108459888B (zh) * | 2018-01-08 | 2019-10-08 | 平安科技(深圳)有限公司 | 多页面切换方法、装置、终端设备及存储介质 |
CN108763417A (zh) * | 2018-05-23 | 2018-11-06 | 深圳市茁壮网络股份有限公司 | 一种基于webOS框架系统的页面处理方法及装置 |
CN109120794B (zh) * | 2018-09-07 | 2019-12-06 | 北京三快在线科技有限公司 | 一种消息显示方法及装置和电子设备 |
CN110928699A (zh) * | 2018-09-20 | 2020-03-27 | 北京京东尚科信息技术有限公司 | 一种前端跨域事件处理方法和装置 |
CN109522507B (zh) * | 2018-11-12 | 2021-08-13 | 厦门卓网信息科技股份有限公司 | 一种网页组件统一管理的方法 |
CN110032499B (zh) * | 2018-12-03 | 2023-08-08 | 创新先进技术有限公司 | 页面用户流失的分析方法、装置、服务器及可读存储介质 |
CN110471781A (zh) * | 2019-08-22 | 2019-11-19 | 北京字节跳动网络技术有限公司 | 页面数据的处理方法、装置、电子设备及存储介质 |
CN111027051B (zh) * | 2019-10-29 | 2021-12-17 | 贝壳技术有限公司 | 控制页面权限调用的方法、装置及可读存储介质 |
CN112417355B (zh) * | 2020-11-27 | 2023-09-05 | 深圳市和讯华谷信息技术有限公司 | 基于长连接单通道的数据交互方法、装置、设备及存储介质 |
CN113238881B (zh) * | 2021-05-28 | 2024-01-30 | 北京达佳互联信息技术有限公司 | 一种页面通信的方法及装置 |
CN113660533A (zh) * | 2021-07-16 | 2021-11-16 | 广州虎牙科技有限公司 | 直播数据的统计方法、电子设备和计算机可读装置 |
CN114090933B (zh) * | 2021-11-16 | 2024-05-10 | 浪潮卓数大数据产业发展有限公司 | 一种跨域信息交互方法、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209706B2 (en) * | 2008-06-27 | 2012-06-26 | Microsoft Corporation | Inter-frame messaging between different domains |
CN101662460B (zh) * | 2008-08-25 | 2015-07-15 | 阿里巴巴集团控股有限公司 | 一种跨域通讯的方法、系统和装置 |
CN103095762B (zh) * | 2011-11-02 | 2017-05-31 | 腾讯科技(深圳)有限公司 | Web页面跨域通信方法和装置 |
CN102646055B (zh) * | 2012-02-27 | 2014-01-01 | 沈文策 | 一种系统间数据交互的方法 |
-
2014
- 2014-12-30 CN CN201410842991.8A patent/CN104572263B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104572263A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572263B (zh) | 一种页面数据交互方法、相关装置及系统 | |
CN104113549B (zh) | 一种平台授权方法、平台服务端及应用客户端和系统 | |
TWI607335B (zh) | 密碼重置方法、裝置和系統 | |
TWI550533B (zh) | Method and apparatus for secure payment by electronic terminal | |
US10007776B1 (en) | Systems and methods for distinguishing among human users and software robots | |
WO2015169158A1 (zh) | 信息保护的方法和系统 | |
CN103368957B (zh) | 对网页访问行为进行处理的方法及系统、客户端、服务器 | |
US10127373B1 (en) | Systems and methods for distinguishing among human users and software robots | |
CN103002445A (zh) | 一种安全的提供应用服务的移动电子设备 | |
WO2017157185A1 (zh) | 一种账号绑定和业务处理的方法及装置 | |
CN101221641A (zh) | 一种联机交易的安全确认设备及联机交易方法 | |
US9990487B1 (en) | Systems and methods for distinguishing among human users and software robots | |
CN106657032A (zh) | 基于安全介质保密短信实现身份鉴别及数据认证的系统及方法 | |
CN104484823B (zh) | 电子银行pki服务方法及其系统 | |
CN113158196A (zh) | 登录验证方法、装置、设备和介质 | |
KR20140112785A (ko) | 금융서비스 제공 시스템 및 그 방법, 그리고 이에 적용되는 장치 | |
CN103501292B (zh) | 利用备用手机实现保护数据安全的方法及系统 | |
CN102404305A (zh) | 网络使用者身份认证方法 | |
CN114866247B (zh) | 一种通信方法、装置、系统、终端及服务器 | |
CN108683657A (zh) | 数据的安全访问方法、装置、终端设备及可读存储介质 | |
US20140215592A1 (en) | Method, apparatus and system for user authentication | |
CN110941412B (zh) | 基于图片化实现多终端动画协同浏览的方法、系统及终端 | |
AU2017412612B2 (en) | Systems and methods for distinguishing among human users and software robots | |
CN106097600A (zh) | 基于atl的设备管理方法、系统和金融自助设备 | |
KR101861441B1 (ko) | 간편 로그인을 통한 금융 서비스 제공 방법 및 이를 실행하는 금융 서버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |