跨域通讯及全双工通讯的方法、装置制造方法及图纸

技术编号:9170957 阅读:121 留言:0更新日期:2013-09-19 19:28
本发明专利技术揭示了一种跨域通讯及全双工通讯的方法、装置,用于需要数据交互的第一域的第一页面与属于第二域的第二页面,所述第一页面与所述第二页面在以下各项中至少有一项不同:协议、端口、host;所述跨域通讯的方法包括步骤:第一页面属于第一域,第二页面属于第二域,当所述第一页面需要向所述第二页面传送数据时,在所述第一页面中插入属于所述第二域的代理页面,通过所述代理页面传送所述数据至所述第二页面。本发明专利技术提出的跨域通讯及全双工通讯的方法、装置实现了无Url污染的跨域实时双向数据传输。

【技术实现步骤摘要】
跨域通讯及全双工通讯的方法、装置
本专利技术涉及到通信领域,尤其涉及一种跨域通讯及全双工通讯的方法、装置。
技术介绍
目前跨域资源访问常用的解决方案是FIM(FragmentIdentitierMessaging)。当页面A0嵌入iFrameA1,相对于iFrameA1来说页面A0是父窗口,而iFrameA1则为页面A0的子窗口。父窗口可以读写子窗口的Url(Uniform/UniversalResourcelocator,统一资源定位符),子窗口也可以读写父窗口的Url。Url包括Frag参数,即#号以及#号后的字符,常用于浏览器的锚点定位,对于Frag参数的修改不会导致新的Http请求的发送。FIM就是通过改变Url的Frag参数实现双向通信。例如iFrameA1要向页面A0发送一个消息“hello”,只要在页面A0的Url的Frag参数部分添加“hello”,然后页面A0窗口通过监听自己的Url变化来接收iFrameA1传送的消息“hello”,反之亦然。上述方法存在以下缺陷:由于父子窗口之间通过修改Url来传送数据,而对于Url的改变会增加额外的浏览器历史记录,同时造成浏览器历史记录前进、后退不准确。
技术实现思路
本专利技术的主要目的为提供一种跨域通讯及全双工通讯的方法、装置,实现无Url污染的跨域实时双向数据传输。本专利技术提出一种跨域通讯的方法,用于需要数据交互的第一域的第一页面与属于第二域的第二页面,所述第一页面与所述第二页面在以下各项中至少有一项不同:协议、端口、host;包括步骤:当所述第一页面需要向所述第二页面传送数据时,在所述第一页面中插入属于所述第二域的代理页面,通过所述代理页面传送所述数据至所述第二页面。优选地,所述在第一页面中插入属于所述第二域的代理页面包括:在所述第一页面中创建iFrame,所述iFrame的Src属性指向所述代理页面,并将传送给所述第二页面的数据以Frag的方式写到所述iFrame的统一资源定位符Url里。优选地,所述通过所述代理页面传送所述数据至所述第二页面包括:通过所述代理页面读取所述Url中的Frag参数,所述Frag参数携带所述数据。优选地,所述通过所述代理页面传送所述数据至所述第二页面还包括:在所述第二页面中轮询监听所述代理页面的Url的Frag参数变化;当所述代理页面的Url发生变化时,响应所述Frag参数,所述Frag参数携带所述数据。优选地,所述iFrame为隐藏的iFrame,所述代理页面为空白代理页面。优选地,当所述第一页面需要向所述第二页面传送数据之前,还包括:在所述第一页面中嵌入所述第二页面。优选地,所述通过所述代理页面传送所述数据至所述第二页面还包括:通过所述第一域与所述第二域之间预定的协议,所述代理页面通过调用所述第二页面的方法响应所述第一页面的请求。本专利技术还提出一种跨域全双工通讯的方法,用于需要数据交互的第一域的第一页面与属于第二域的第二页面,所述第一页面与所述第二页面在以下各项中至少有一项不同:协议、端口、host;其特征在于,包括步骤:当所述第一页面需要向所述第二页面传送数据时,在所述第一页面中插入属于所述第二域的第二代理页面,通过所述第二代理页面传送所述数据至所述第二页面;当所述第二页面需要向所述第一页面传送数据时,在所述第二页面中插入属于所述第一域的第一代理页面,通过所述第一代理页面传送所述数据至所述第一页面。优选地,当所述第一页面需要向所述第二页面传送数据之前或所述第二页面需要向所述第一页面传送数据之前,还包括:在所述第一页面中嵌入所述第二页面。本专利技术还提出一种跨域通讯的装置,用于需要数据交互的第一域的第一页面与属于第二域的第二页面,所述第一页面与所述第二页面在以下各项中至少有一项不同:协议、端口、host;包括:第一插入模块,用于当所述第一页面需要向所述第二页面传送数据时,在所述第一页面中插入属于所述第二域的代理页面;第一传送模块,用于通过所述代理页面传送所述数据至所述第二页面。优选地,所述第一插入模块具体用于:在所述第一页面中创建iFrame,所述iFrame的Src属性指向所述代理页面,并将传送给所述第二页面的数据以Frag的方式写到所述iFrame的统一资源定位符Url里。优选地,所述第一传送模块具体用于:通过所述代理页面读取所述Url中的Frag参数,所述Frag参数携带所述数据。优选地,所述第一传送模块具体用于:在所述第二页面中轮询监听所述代理页面的Url的Frag参数变化;当所述代理页面的Url发生变化时,响应所述Frag参数,所述Frag参数携带所述数据。优选地,所述iFrame为隐藏的iFrame,所述代理页面为空白代理页面。优选地,所述装置还包括:第一嵌入模块,用于在所述第一页面中嵌入所述第二页面。优选地,所述第一传送模块具体用于:通过所述第一域与所述第二域之间预定的协议,所述代理页面调用所述第二页面的方法响应所述第一页面的请求。本专利技术还提出一种跨域全双工通讯的装置,用于需要数据交互的第一域的第一页面与属于第二域的第二页面,所述第一页面与所述第二页面在以下各项中至少有一项不同:协议、端口、host;包括:第二插入模块,用于当所述第一页面需要向所述第二页面传送数据时,在所述第一页面中插入属于所述第二域的第二代理页面;第二传送模块,用于当所述第一页面需要向所述第二页面传送数据时,通过所述第二代理页面传送所述数据至所述第二页面;第三插入模块,用于当所述第二页面需要向所述第一页面传送数据时,在所述第二页面中插入属于所述第一域的第一代理页面;第三传送模块,用于当所述第二页面需要向所述第一页面传送数据时,通过所述第一代理页面传送所述数据至所述第一页面。优选地,所述装置还包括:第二嵌入模块,用于在所述第一页面中嵌入所述第二页面。本专利技术提出的一种跨域通讯及全双工通讯的方法、装置,针对现有FIM方案存在的缺陷,使得跨域的通信更加高效可行,利用在现有页面中插入空白页面代理的技术,实现无Url污染的跨域实时双向数据传输。附图说明图1为本专利技术一种跨域通讯的方法一实施例的流程示意图;图2为本专利技术一种跨域通讯的方法一实施例的实例示意图;图3为本专利技术一种跨域全双工通讯的方法一实施例的流程示意图;图4为本专利技术一种跨域通讯的装置一实施例的结构示意图;图5为本专利技术一种跨域全双工通讯的装置一实施例的结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参照图1、图2,提出本专利技术跨域通讯的方法一实施例,用于需要数据交互的第一域的第一页面(本实施例称之为页面A)与属于第二域的第二页面(本实施例称之为页面B),包括:步骤S10、在页面A中嵌入页面B;假定第一域为域A(www.dominA.com),第二域为域B(www.dominB.com),域A上有页面A和代理页面proxyA.html,在域B上有页面B以及代理页面proxyB.html,较佳的实施方式是proxyA.html和proxyB.html为空白代理页面。在页面A中嵌入页面B,并进入步骤S11。步骤S11、当页面A需要向页面B传送数据时,在页面A中插入第二域的代理页面本文档来自技高网...
跨域通讯及全双工通讯的方法、装置

【技术保护点】
一种跨域通讯的方法,用于需要数据交互的第一域的第一页面与属于第二域的第二页面,所述第一页面与所述第二页面在以下各项中至少有一项不同:协议、端口、host;其特征在于,包括步骤:当所述第一页面需要向所述第二页面传送数据时,在所述第一页面中插入属于所述第二域的代理页面,通过所述代理页面传送所述数据至所述第二页面。

【技术特征摘要】
1.一种跨域通讯的方法,用于需要数据交互的第一域的第一页面与属于第二域的第二页面,所述第一页面与所述第二页面在以下各项中至少有一项不同:协议、端口、host;其特征在于,包括步骤:在所述第一页面中嵌入所述第二页面;当所述第一页面需要向所述第二页面传送数据时,在所述第一页面中插入属于所述第二域的代理页面,通过所述代理页面传送所述数据至所述第二页面。2.如权利要求1所述的方法,其特征在于,所述在第一页面中插入属于所述第二域的代理页面包括:在所述第一页面中创建iFrame,所述iFrame的Src属性指向所述代理页面,并将传送给所述第二页面的数据以Frag的方式写到所述iFrame的统一资源定位符Url里。3.如权利要求2所述的方法,其特征在于,所述通过所述代理页面传送所述数据至所述第二页面包括:通过所述代理页面读取所述Url中的Frag参数,所述Frag参数携带所述数据。4.如权利要求2所述的方法,其特征在于,所述通过所述代理页面传送所述数据至所述第二页面包括:在所述第二页面中轮询监听所述代理页面的Url的Frag参数变化;当所述代理页面的Url发生变化时,响应所述Frag参数,所述Frag参数携带所述数据。5.如权利要求2所述的方法,其特征在于,所述iFrame为隐藏的iFrame,所述代理页面为空白代理页面。6.如权利要求3所述的方法,其特征在于,所述通过所述代理页面传送所述数据至所述第二页面还包括:通过所述第一域与所述第二域之间预定的协议,所述代理页面通过调用所述第二页面的方法响应所述第一页面的请求。7.一种跨域全双工通讯的方法,用于需要数据交互的第一域的第一页面与属于第二域的第二页面,所述第一页面与所述第二页面在以下各项中至少有一项不同:协议、端口、host;其特征在于,包括步骤:在所述第一页面中嵌入所述第二页面;当所述第一页面需要向所述第二页面传送数据时,在所述第一页面中插入属于所述第二域的第二代理页面,通过所述第二代理页面传送所述数据至所述第二页面;当所述第二页面需要向所述第一页面传送数据时,在所述第二页面中插入属于所述第一域的第一代理页面,通过所述第一代理页面传送所述数据至所述第一页面。8.一种跨域通讯的装置,用于需要数据交互的第一域的第一页面与属于第...

【专利技术属性】
技术研发人员:郭学亨操龙敏于树南龙丁奋
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1