System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及网页通信,尤其涉及一种非同源页面之间的通信方法、装置、系统、设备和介质。
技术介绍
1、目前在web(万维网)前端领域,非同源页面之间的跨域通信是通过iframe(一个内联框架)作为桥接来完成的。iframe可以指定origin(源),非同源页面嵌套同源的iframe,同源iframe之间实时通信并与嵌套iframe的父级页面完成非同源通信。但这种通信方式依赖浏览器的安全策略,当浏览器限制父子级页面的非同源通信时,非同源页面之间无法完成通信。另外,这种通信方式中iframe的父子级页面之间通过postmessage(一种跨域消息传递的方式)方法来传递数据,一次性传递的数据量较少。
技术实现思路
1、本公开要解决的技术问题是为了克服现有技术中采用iframe作为桥接来完成非同源页面之间的跨域通信的缺点,提供一种非同源页面之间的通信方法、装置、系统、设备和介质。
2、本公开是通过下述技术方案来解决上述技术问题:
3、本公开提供一种非同源页面之间的通信方法,所述通信方法应用于客户端,所述通信方法包括:
4、第一网页和第二网页分别与预先创建的websocket(一种通信协议)服务器建立第一通信连接和第二通信连接;
5、其中,所述第一网页和所述第二网页为所述客户端中任意两个非同源页面,所述第一网页配置有第一通信标识,所述第二网页配置有第二通信标识;
6、响应于所述第一通信标识和所述第二通信标识相同,所述第一网页和所述第二网
7、较佳地,所述响应于所述第一通信标识和所述第二通信标识相同,所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤包括:
8、响应于所述第一通信标识和所述第二通信标识相同,所述第一网页通过所述第一通信连接发送通信数据至所述websocket服务器,以使所述websocket服务器通过所述第二通信连接转发所述通信数据至所述第二网页。
9、较佳地,所述第一网页和所述第二网页均接入sdk(software development kit,软件开发工具包),所述通信数据通过所述sdk进行封装以进行传输。
10、较佳地,所述websocket服务器设有白名单,所述响应于所述第一通信标识和所述第二通信标识相同,所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤还包括:
11、响应于所述第一通信标识和所述第二通信标识相同且所述第一网页的域名以及所述第二网页的域名处于所述白名单中,所述第一网页通过所述第一通信连接发送所述通信数据至所述websocket服务器,以使所述websocket服务器通过所述第二通信连接转发所述通信数据至所述第二网页。
12、较佳地,所述第一网页和所述第二网页处于同一客户端中,所述第一通信标识和所述第二通信标识为设备id(identity document,身份标识号);
13、或,
14、所述第一网页和所述第二网页处于不同客户端中,所述第一通信标识和所述第二通信标识为用户id。
15、本公开还提供一种非同源页面之间的通信方法,所述通信方法应用于服务端,所述服务端包括预先创建的websocket服务器,所述通信方法包括:
16、所述websocket服务器分别与第一网页和第二网页建立第一通信连接和第二通信连接;
17、其中,所述第一网页和所述第二网页为客户端中任意两个非同源页面,所述第一网页配置有第一通信标识,所述第二网页配置有第二通信标识;
18、确定所述第一通信标识和所述第二通信标识是否相同;
19、响应于所述第一通信标识和所述第二通信标识相同,使所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互。
20、较佳地,响应于所述第一通信标识和所述第二通信标识相同,使所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤包括:
21、接收所述第一网页通过所述第一通信连接发送的通信数据,并通过所述第二通信连接转发至所述第二网页。
22、较佳地,所述websocket服务器设有白名单,响应于所述第一通信标识和所述第二通信标识相同,使所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤还包括:
23、响应于所述第一通信标识和所述第二通信标识相同且所述第一网页的域名以及所述第二网页的域名处于所述白名单中,接收所述第一网页通过所述第一通信连接发送的所述通信数据,并通过所述第二通信连接转发至所述第二网页。
24、本公开还提供一种非同源页面之间的通信装置,其特征在于,所述通信装置应用于客户端,所述通信装置包括第一通信模块和/或第二通信模块,以及通信交互模块;
25、所述第一通信模块用于使第一网页与预先创建的websocket服务器建立第一通信连接;
26、所述第二通信模块用于使第二网页与预先创建的所述websocket服务器建立第二通信连接;
27、其中,所述第一网页和所述第二网页为所述客户端中任意两个非同源页面,所述第一网页配置有第一通信标识,所述第二网页配置有第二通信标识;
28、所述通信交互模块用于响应于所述第一通信标识和所述第二通信标识相同,使所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互。
29、较佳地,所述通信交互模块还用于响应于所述第一通信标识和所述第二通信标识相同,所述第一网页通过所述第一通信连接发送通信数据至所述websocket服务器,以使所述websocket服务器通过所述第二通信连接转发所述通信数据至所述第二网页。
30、较佳地,所述第一网页和所述第二网页均接入sdk,所述通信数据通过所述sdk进行封装以进行传输。
31、较佳地,所述websocket服务器设有白名单,所述通信交互模块还用于响应于所述第一通信标识和所述第二通信标识相同且所述第一网页的域名以及所述第二网页的域名处于所述白名单中,所述第一网页通过所述第一通信连接发送所述通信数据至所述websocket服务器,以使所述websocket服务器通过所述第二通信连接转发所述通信数据至所述第二网页。
32、较佳地,所述第一网页和所述第二网页处于同一客户端中,所述第一通信标识和所述第二通信标识为设备id;
33、或,
34、所述第一网页和所述第二网页处于不同客户端中,所述第一通信标识和所述第二通信标识为用户id。
35、本公开还提供一种非同源页面之间的通信装置,所述通信装置应用于服务端,所述服务端包括预先创建的websocket服务器,所述通信装置包括:
36、第一连接模块,用于使所本文档来自技高网...
【技术保护点】
1.一种非同源页面之间的通信方法,其特征在于,所述通信方法应用于客户端,所述通信方法包括:
2.如权利要求1所述的非同源页面之间的通信方法,其特征在于,所述响应于所述第一通信标识和所述第二通信标识相同,所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤包括:
3.如权利要求2所述的非同源页面之间的通信方法,其特征在于,所述第一网页和所述第二网页均接入SDK,所述通信数据通过所述SDK进行封装以进行传输。
4.如权利要求2所述的非同源页面之间的通信方法,其特征在于,所述WebSocket服务器设有白名单,所述响应于所述第一通信标识和所述第二通信标识相同,所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤还包括:
5.如权利要求1-4中任一项所述的非同源页面之间的通信方法,其特征在于,所述第一网页和所述第二网页处于同一客户端中,所述第一通信标识和所述第二通信标识为设备ID;
6.一种非同源页面之间的通信方法,其特征在于,所述通信方法应用于服务端,所述服务端包括预
7.如权利要求6所述的非同源页面之间的通信方法,其特征在于,响应于所述第一通信标识和所述第二通信标识相同,使所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤包括:
8.如权利要求7所述的非同源页面之间的通信方法,其特征在于,所述WebSocket服务器设有白名单,响应于所述第一通信标识和所述第二通信标识相同,使所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤还包括:
9.一种非同源页面之间的通信装置,其特征在于,所述通信装置应用于客户端,所述通信装置包括第一通信模块和/或第二通信模块,以及通信交互模块;
10.一种非同源页面之间的通信装置,其特征在于,所述通信装置应用于服务端,所述服务端包括预先创建的WebSocket服务器,所述通信装置包括:
11.一种通信系统,其特征在于,所述通信系统包括如权利要求9和/或权利要求10所述的通信装置。
12.一种电子设备,包括存储器、处理器及存储在存储器上并用于在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的非同源页面之间的通信方法,或,实现如权利要求6-8中任一项所述的非同源页面之间的通信方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的非同源页面之间的通信方法,或,实现如权利要求6-8中任一项所述的非同源页面之间的通信方法。
...【技术特征摘要】
1.一种非同源页面之间的通信方法,其特征在于,所述通信方法应用于客户端,所述通信方法包括:
2.如权利要求1所述的非同源页面之间的通信方法,其特征在于,所述响应于所述第一通信标识和所述第二通信标识相同,所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤包括:
3.如权利要求2所述的非同源页面之间的通信方法,其特征在于,所述第一网页和所述第二网页均接入sdk,所述通信数据通过所述sdk进行封装以进行传输。
4.如权利要求2所述的非同源页面之间的通信方法,其特征在于,所述websocket服务器设有白名单,所述响应于所述第一通信标识和所述第二通信标识相同,所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互的步骤还包括:
5.如权利要求1-4中任一项所述的非同源页面之间的通信方法,其特征在于,所述第一网页和所述第二网页处于同一客户端中,所述第一通信标识和所述第二通信标识为设备id;
6.一种非同源页面之间的通信方法,其特征在于,所述通信方法应用于服务端,所述服务端包括预先创建的websocket服务器,所述通信方法包括:
7.如权利要求6所述的非同源页面之间的通信方法,其特征在于,响应于所述第一通信标识和所述第二通信标识相同,使所述第一网页和所述第二网页通过所述第一通信连...
【专利技术属性】
技术研发人员:郝雅波,周岳,余坤,于磊,
申请(专利权)人:携程旅游网络技术上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。