一种跨域通信方法及装置制造方法及图纸

技术编号:19647005 阅读:40 留言:0更新日期:2018-12-05 20:30
本发明专利技术实施例提供了一种跨域通信方法及装置,所述方法包括:浏览器获得目标根域名对应的第一子域名和第二子域名;浏览器加载所述第一子域名对应的第一页面,以及所述第二子域名对应的第二页面;浏览器的第一页面,将源于自身的第一数据,存储到所述目标根域名对应的本地存储空间;浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,实现跨域通信。利用本发明专利技术实施例,提高了页面间的通信效率。

A Cross-Domain Communication Method and Device

The embodiment of the invention provides a cross-domain communication method and device, which includes: the browser obtains the first subdomain name and the second subdomain name corresponding to the target root domain name; the browser loads the first page corresponding to the first subdomain name and the second page corresponding to the second subdomain name; and the first page of the browser; The first data from itself is stored in the local storage space corresponding to the target root domain name; the second page of the browser accesses the local storage space and reads the first data to realize cross-domain communication. By using the embodiment of the present invention, the communication efficiency between pages is improved.

【技术实现步骤摘要】
一种跨域通信方法及装置
本专利技术涉及网页处理
,特别是涉及一种跨域通信方法及装置。
技术介绍
当前,在支持JavaScript(Java描述语言)的浏览器,都会使用同源策略(Same-OriginPolicy)。同源是指两个页面具有相同的域名、协议和端口。同源策略,则是指从一个源加载的文档或脚本,无法去读取或设置从另一个源加载的文档或脚本的属性,从而阻止了不同源的网页之间的数据通信。目前,针对两个根域名相同、但子域名不同的网页,两者并不同源。例如,一个支持JavaScript的浏览器的两个tab(标签)页中分别打开了链接http://a.ksyun.com/和http://b.ksyun.com/,打开后的页面分别简称为a页面和b页面。由于该浏览器的同源策略限制,a页面向b页面发送消息,则需要进行跨域通信,其中,跨域是指跨域资源共享(Cross-originresourcesharing),其克服了浏览器同源策略的限制。现有的前端实现子域名之间的跨域通信方法,是a页面向后端服务器发送目标数据第一数据,然后b再向服务器请求并获取该目标数据,实现a页面和b页面的通信。由于每次通信都需要后端服务器的支持,会导致两页面间数据传递所花费的时间较长,从而使得页面间的通信效率不高。
技术实现思路
本专利技术实施例的目的在于提供一种跨域通信方法及装置,以提高页面间的通信效率。具体技术方案如下:为达到上述目的,本专利技术实施例提供了一种跨域通信方法,方法包括:浏览器获得目标根域名对应的第一子域名和第二子域名;浏览器加载所述第一子域名对应的第一页面,以及所述第二子域名对应的第二页面;浏览器的第一页面,将源于自身的第一数据,存储到所述目标根域名对应的本地存储空间;浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,实现跨域通信。较佳的,所述浏览器为:支持JavaScript的浏览器。较佳的,所述本地存储空间为:cookie空间,所述浏览器的第一页面,将源于自身的第一数据,存储到所述目标根域名对应的本地存储空间,包括:浏览器的第一页面,将源于自身的第一数据,作为所述第一页面对应的、预设第一key-value键值对中value的值,存储到所述第一key-value键值对中;将所述第一key-value键值对,存储到所述目标根域名对应的cookie空间中。较佳的,所述浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,包括:浏览器的第二页面轮询所述cookie空间存储的每一key-value键值对;识别该key-value键值对携带的预设标识key是否为所述第一key-value键值对,其中,所述预设标识包含:该key-value键值对中存储的数据所源于的页面与待读取该数据的页面的信息;如果是,则读取该key键对应的value的值,得到所述第一数据。较佳的,所述浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,包括:浏览器的第二页面访问所述cookie空间,根据预设指令,查询cookie空间存储的所述第一key-value键值对中的key键,读取该key键对应的value的值,得到所述第一数据,其中,所述预设指令为:所述第二页面针对存储有源于第一页面的第一数据的第一key-value键值对中key键的查询指令。为达到上述目的,本专利技术实施例提供了一种跨域通信装置,装置包括:获得模块,用于浏览器获得目标根域名对应的第一子域名和第二子域名;加载模块,用于浏览器加载所述第一子域名对应的第一页面,以及所述第二子域名对应的第二页面;存储模块,用于浏览器的第一页面,将源于自身的第一数据,存储到所述目标根域名对应的本地存储空间;读取模块,用于浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,实现跨域通信。较佳的,所述浏览器为:支持JavaScript的浏览器。较佳的,所述本地存储空间为:cookie空间,所述存储模块,具体用于:浏览器的第一页面,将源于自身的第一数据,作为所述第一页面对应的、预设第一key-value键值对中value的值,存储到所述第一key-value键值对中;将所述第一key-value键值对,存储到所述目标根域名对应的cookie空间中。较佳的,所述读取模块,具体用于:浏览器的第二页面轮询所述cookie空间存储的每一key-value键值对;识别该key-value键值对携带的预设标识key是否为所述第一key-value键值对,其中,所述预设标识包含:该key-value键值对中存储的数据所源于的页面与待读取该数据的页面的信息;如果是,则读取该key键对应的value的值,得到所述第一数据。较佳的,所述读取模块,具体用于:浏览器的第二页面访问所述cookie空间,根据预设指令,查询cookie空间存储的所述第一key-value键值对中的key键,读取该key键对应的value的值,得到所述第一数据,其中,所述预设指令为:所述第二页面针对存储有源于第一页面的第一数据的第一key-value键值对中key键的查询指令。本专利技术实施例提供一种跨域通信方法及装置,获得目标根域名对应的第一子域名和第二子域名;加载所述第一子域名对应的第一页面,以及所述第二子域名对应的第二页面;将源于所述第一页面的第一数据,存储到所述目标根域名对应的本地存储空间,以使所述第二页面访问所述本地存储空间,并读取所述第一数据,实现跨域通信。可见,第一页面与第二页面进行跨域通信,可以将第一页面包含的第一数据存储到本地存储空间中,无需发送给服务器,然后第二页面从本地存储空间中读取该第一数据,无需向服务器请求以获取该第一数据,相比于现有的跨域通信方法,无需依赖于服务器,从而减少两页面间数据传递所花费的时间,使得页面间的通信效率得到了提高。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的跨域通信方法的一种流程示意图;图2为本专利技术实施例提供的一种跨域通信的原理示意图;图3为本专利技术实施例提供的跨域通信装置的一种结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面首先对本专利技术实施例提供的一种跨域通信方法进行详细说明。需要说明的是,本专利技术实施例提供的一种跨域通信方法及装置优选适用于浏览器。具体的,浏览器可以为:支持JavaScript的浏览器。以下均以支持JavaScript的浏览器为例,对本专利技术实施例进行详细说明。参见图1,图1为本专利技术实施例提供的跨域通信方法的一种流程示意图,可以包括如下步骤:S101,浏览器获得目标根域名对应的第一子域名和第二子域名;S102,浏览器加载所述第一子域名对应的第一页面,以及所述第二子域名对应的第二页面;例如,可以启动电脑的IE(In本文档来自技高网...

【技术保护点】
1.一种跨域通信方法,其特征在于,所述方法包括:浏览器获得目标根域名对应的第一子域名和第二子域名;浏览器加载所述第一子域名对应的第一页面,以及所述第二子域名对应的第二页面;浏览器的第一页面,将源于自身的第一数据,存储到所述目标根域名对应的本地存储空间;浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,实现跨域通信。

【技术特征摘要】
1.一种跨域通信方法,其特征在于,所述方法包括:浏览器获得目标根域名对应的第一子域名和第二子域名;浏览器加载所述第一子域名对应的第一页面,以及所述第二子域名对应的第二页面;浏览器的第一页面,将源于自身的第一数据,存储到所述目标根域名对应的本地存储空间;浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,实现跨域通信。2.根据权利要求1所述的方法,其特征在于,所述浏览器为:支持JavaScript的浏览器。3.根据权利要求2所述的方法,其特征在于,所述本地存储空间为:cookie空间,所述浏览器的第一页面,将源于自身的第一数据,存储到所述目标根域名对应的本地存储空间,包括:浏览器的第一页面,将源于自身的第一数据,作为所述第一页面对应的、预设第一key-value键值对中value的值,存储到所述第一key-value键值对中;将所述第一key-value键值对,存储到所述目标根域名对应的cookie空间中。4.根据权利要求3所述的方法,其特征在于,所述浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,包括:浏览器的第二页面轮询所述cookie空间存储的每一key-value键值对;识别该key-value键值对携带的预设标识key是否为所述第一key-value键值对,其中,所述预设标识包含:该key-value键值对中存储的数据所源于的页面与待读取该数据的页面的信息;如果是,则读取该key键对应的value的值,得到所述第一数据。5.根据权利要求3所述的方法,其特征在于,所述浏览器的第二页面访问所述本地存储空间,并读取所述第一数据,包括:浏览器的第二页面访问所述cookie空间,根据预设指令,查询cookie空间存储的所述第一key-value键值对中的key键,读取该key键对应的value的值,得到所述第一数据,其中,所述预设指令为:所述第二页面针对存储有源于第一页面的第一数据的第...

【专利技术属性】
技术研发人员:姚阔
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1