System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 跨域通信方法、装置、终端设备以及存储介质制造方法及图纸_技高网

跨域通信方法、装置、终端设备以及存储介质制造方法及图纸

技术编号:40598526 阅读:6 留言:0更新日期:2024-03-12 22:02
本申请公开了一种跨域通信方法、装置、终端设备以及存储介质,其方法包括:在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数;调用所述回调函数,以将所述目标事件传递给目标页面;其中,所述目标页面包括订阅了所述目标事件的子页面且所述子页面订阅了所述主页面的通知消息。本实施例方案通过建立事件发布订阅模型,由主页面对交互事件进行广播,由事件管理中心对页面交互事件进行调度,简化了通信环节,降低了各个模块之间的页面的耦合性,进而减少了系统开发和维护成本。

【技术实现步骤摘要】

本申请涉及互联网,尤其涉及一种跨域通信方法、装置、终端设备以及存储介质


技术介绍

1、在微前端开发中,在主页面嵌入子页面的应用越来越常见,对于不同页面之间达到数据共享的需求也越来越普遍。例如,用户登录业务平台后各个子页面需要共享登录信息等基本数据,用户退出业务平台后退出需要与各个子页面确认。

2、然而,浏览器出于同源策略却一定程度上限制了不同页面之间通信的范围。同源策略是浏览器和后台通讯之间的一个安全协议的支持,同源指两个网址的协议、域名(或ip)、端口号都相同,三者有一个不相同就不是同源,非同源的页面之间在没有明确授权下,是不允许访问对方资源。

3、现有相关方案中,通过postmessage方法解决主页面和子页面之间的跨域通信问题。然而,采用postmessagee方法需要各个子页面通过onmeaasge监听主页面的消息通知,各个子页面模块与主页面框架的耦合性太强,系统开发和维护的成本高。


技术实现思路

1、本申请的主要目的在于提供一种跨域通信方法、装置、终端设备以及存储介质,旨在解决现在方案存在的系统开发和维护成本高的问题。

2、为实现上述目的,本申请提供一种跨域通信方法,所述跨域通信方法应用于主页面,所述跨域通信方法包括:

3、在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数;

4、调用所述回调函数,以将所述目标事件传递给目标页面;其中,所述目标页面包括订阅了所述目标事件的子页面且所述子页面订阅了所述主页面的通知消息。

5、可选地,所述回调函数包括第一回调函数和第二回调函数;所述目标页面包括第一目标页面和第二目标页面;所述第一回调函数对应所述第一目标页面;所述第二回调函数对应所述第二目标页面;在所述调用所述回调函数,以将所述目标事件传递给目标页面的步骤之前还包括:

6、获取所述第一回调函数和所述第二回调函数的优先级;

7、所述调用所述回调函数,以将所述目标事件传递给目标页面的步骤包括:

8、若所述第一回调函数的优先级高于所述第二回调函数,先调用所述第一回调函数再调用所述第二回调函数,以将所述目标事件先传递给所述第一目标页面再传递给所述第二目标页面。

9、可选地,在所述获取所述第一回调函数和所述第二回调函数的优先级的步骤之前还包括:

10、基于页面优先级表确定所述第一目标页面和所述第二目标页面的优先级;

11、基于所述第一目标页面和所述第二目标页面的优先级,确定所述第一回调函数和所述第二回调函数的优先级。

12、可选地,在所述在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数的步骤之前还包括:

13、响应于所述目标页面对所述目标事件的订阅操作,将所述目标事件、所述目标事件与所述目标页面的订阅关系以及所述目标页面针对所述目标事件注册的所述回调函数保存到所述注册表中。

14、可选地,所述目标事件包括事件标识;所述在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数的步骤包括:

15、基于所述事件标识从所述注册表中查找与所述事件标识对应的所述回调函数。

16、可选地,所述跨域通信方法还包括:

17、在监听到第一子页面发送第一消息时,接收所述第一消息;其中,所述第一消息包含点对点标识;

18、基于所述点对点标识确定与所述第一子页面绑定点对点通信关系的第二子页面,并转发所述第一消息给所述第二子页面。

19、可选地,在所述在监听到所述第一子页面发送第一消息时,接收所述第一消息的步骤之前还包括:

20、响应于所述第一子页面或所述第二子页面发送的注册请求,获取所述注册请求中携带的第一子页面标识、第二子页面标识以及所述点对点标识;

21、在所述注册表中写入第一点对点关系以及与所述第一点对点关系对应的点对点标识;所述第一点对点关系为所述第一子页面标识与所述第二子页面标识的对应关系。

22、本申请实施例还提出一种跨域通信装置,所述跨域通信装置包括:

23、获取模块,用于在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数;

24、传递模块,用于调用所述回调函数,以将所述目标事件传递给目标页面;其中,所述目标页面包括订阅了所述目标事件的子页面且所述子页面订阅了所述主页面的通知消息。

25、本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的通信程序,所述通信程序被所述处理器执行时实现如上所述的跨域通信方法的步骤。

26、本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有通信程序,所述通信程序被处理器执行时实现如上所述的跨域通信方法的步骤。

27、本申请实施例提出的跨域通信方法、装置、终端设备以及存储介质,通过在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数;调用所述回调函数,以将所述目标事件传递给目标页面;其中,所述目标页面包括订阅了所述目标事件的子页面且所述子页面订阅了所述主页面的通知消息。本实施例方案通过建立事件发布订阅模型,由主页面对交互事件进行广播,由事件管理中心对页面交互事件进行调度,简化了通信环节,降低了各个模块之间的页面的耦合性,进而减少了系统开发和维护成本。

本文档来自技高网...

【技术保护点】

1.一种跨域通信方法,其特征在于,所述跨域通信方法应用于主页面,所述跨域通信方法包括:

2.根据权利要求1所述的跨域通信方法,其特征在于,所述回调函数包括第一回调函数和第二回调函数;所述目标页面包括第一目标页面和第二目标页面;所述第一回调函数对应所述第一目标页面;所述第二回调函数对应所述第二目标页面;在所述调用所述回调函数,以将所述目标事件传递给目标页面的步骤之前还包括:

3.根据权利要求1所述的跨域通信方法,其特征在于,在所述获取所述第一回调函数和所述第二回调函数的优先级的步骤之前还包括:

4.根据权利要求1所述的跨域通信方法,其特征在于,在所述在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数的步骤之前还包括:

5.根据权利要求1所述的跨域通信方法,其特征在于,所述目标事件包括事件标识;所述在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数的步骤包括:

6.根据权利要求1所述的跨域通信方法,其特征在于,所述跨域通信方法还包括:

7.根据权利要求6所述的跨域通信方法,其特征在于,在所述在监听到所述第一子页面发送第一消息时,接收所述第一消息的步骤之前还包括:

8.一种跨域通信装置,其特征在于,所述跨域通信装置包括:

9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的通信程序,所述通信程序被所述处理器执行时实现如权利要求1-7中任一项所述的跨域通信方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有通信程序,所述通信程序被处理器执行时实现如权利要求1-7中任一项所述的跨域通信方法的步骤。

...

【技术特征摘要】

1.一种跨域通信方法,其特征在于,所述跨域通信方法应用于主页面,所述跨域通信方法包括:

2.根据权利要求1所述的跨域通信方法,其特征在于,所述回调函数包括第一回调函数和第二回调函数;所述目标页面包括第一目标页面和第二目标页面;所述第一回调函数对应所述第一目标页面;所述第二回调函数对应所述第二目标页面;在所述调用所述回调函数,以将所述目标事件传递给目标页面的步骤之前还包括:

3.根据权利要求1所述的跨域通信方法,其特征在于,在所述获取所述第一回调函数和所述第二回调函数的优先级的步骤之前还包括:

4.根据权利要求1所述的跨域通信方法,其特征在于,在所述在监听到目标事件时,从注册表中获取针对所述目标事件注册的回调函数的步骤之前还包括:

5.根据权利要求1所述的跨域通信方法,其特征在于,所述目标事件包括事件标识;所述...

【专利技术属性】
技术研发人员:伍斌李天助张松涛夏德卫
申请(专利权)人:招商银行股份有限公司
类型:发明
国别省市:

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

1