非同源页面之间的通信方法、装置、系统、设备和介质与流程

文档序号:36932894发布日期:2024-02-02 21:58阅读:20来源:国知局
非同源页面之间的通信方法、装置、系统、设备和介质与流程

本公开涉及网页通信,尤其涉及一种非同源页面之间的通信方法、装置、系统、设备和介质。


背景技术:

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、第一连接模块,用于使所述websocket服务器与第一网页建立第一通信连接;

37、第二连接模块,用于使所述websocket服务器与第二网页建立第二通信连接;

38、其中,所述第一网页和所述第二网页为客户端中任意两个非同源页面,所述第一网页配置有第一通信标识,所述第二网页配置有第二通信标识;

39、通信标识确定模块,用于确定所述第一通信标识和所述第二通信标识是否相同;

40、响应模块,用于响应于所述第一通信标识和所述第二通信标识相同,使所述第一网页和所述第二网页通过所述第一通信连接和所述第二通信连接完成通信交互。

41、较佳地,所述响应模块还用于接收所述第一网页通过所述第一通信连接发送的通信数据,并通过所述第二通信连接转发至所述第二网页。

42、较佳地,所述websocket服务器设有白名单,所述响应模块还用于响应于所述第一通信标识和所述第二通信标识相同且所述第一网页的域名以及所述第二网页的域名处于所述白名单中,接收所述第一网页通过所述第一通信连接发送的所述通信数据,并通过所述第二通信连接转发至所述第二网页。

43、本公开还提供一种通信系统,所述通信系统包括如上述所述的通信装置。

44、本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并用于在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述所述的非同源页面之间的通信方法。

45、本公开还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的非同源页面之间的通信方法。

46、在符合本领域常识的基础上,所述各优选条件,可任意组合,即得本公开各较佳实例。

47、本公开的积极进步效果在于:本公开客户端中的非同源页面通过与预先创建的websocket服务器建立通信连接,当多个非同源页面的通信标识相同时能够完成通信交互,不依赖浏览器的安全策略,一次性传输的数据量没有限制,保证了web前端非同源页面之间通信的实时性、准确性和便捷性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1