CN114090933B - 一种跨域信息交互方法、设备及介质 - Google Patents
一种跨域信息交互方法、设备及介质 Download PDFInfo
- Publication number
- CN114090933B CN114090933B CN202111354962.3A CN202111354962A CN114090933B CN 114090933 B CN114090933 B CN 114090933B CN 202111354962 A CN202111354962 A CN 202111354962A CN 114090933 B CN114090933 B CN 114090933B
- Authority
- CN
- China
- Prior art keywords
- page
- domain
- server
- data
- callback function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 84
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本说明书实施例公开了一种跨域信息交互方法,应用于第二页面所在域的服务器,方法包括:接收第一页面所在域的服务器发出的调用信息;第一页面为第二页面的HTML标签内嵌套的子页面;根据调用信息进行数据处理,获得回传数据;回传数据包括调用信息的对应标识;基于预设指令获取所述第一页面的窗口对象,并基于窗口对象获取第一页面的预设数据接口;通过预设数据接口与标识确定对应的回调函数,并基于对应的回调函数将回传数据发送到对应的第一页面所在域的服务器中。
Description
技术领域
本说明书涉及信息化软件技术领域,尤其涉及一种跨域信息交互方法、设备及介质。
背景技术
随着互联网的不断发展,网页的设计也日益复杂。在一个网页中可以包含有多个框架页iframe。在修改网页中的一个iframe中的信息时,常常需要同时修改该网页或该网页中的其他iframe中的信息。当网页与该网页中的iframe是不同域时,或该网页中的多个iframe是不同域时,就需要进行跨域信息交互。
iframe跨域信息交互过程中通常情况下,父子工程之间的交互都是通过拿到相互的全局对象进行方法的调用,无法实现不同域名之间的页面调用,且直接通过全局对象进行方法的调运业务必须在一个公共的地方实现,尽量避免多业务分散,对编码不够灵活。
因此现需要一种可以提高程序组织的灵活性的跨域信息交互方法。
发明内容
本说明书一个或多个实施例提供了一种跨域信息交互方法、设备及介质,用于解决如下技术问题:如何提供一种灵活性高的跨域信息交互方法。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供一种跨域信息交互方法,应用于第二页面所在域的服务器,方法包括:
接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为所述第二页面的HTML标签内嵌套的子页面;
根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识;
基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口;
通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
可选地,本说明书一个或多个实施例中,所述通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中,具体包括:
通过所述预设数据接口将所述回传数据发送到待发送队列;
根据所述对应标识获取所述回传数据的回调函数;其中,所述对应标识与所述回调函数以键值对的形式进行存储;
在所述回调函数中调用预设方法,以将所述待发送队列中的回传数据发送到对应的第一页面所在与的服务器中,以实现回传数据的同步调用。
可选地,本说明书一个或多个实施例中,所述HTML标签为iframe框架;所述预设数据接口为PostMessage;所述预设转换方法为:Promise的resolve方法。
本说明书一个或多个实施例提供一种跨域信息交互方法,应用于第一页面所在域的服务器,方法包括:
根据业务需求向第二页面所在域的服务器发出调用信息;其中,所述第一页面为父页面内的一个或多个HTML标签内的子页面;所述第二页面为父页面;
根据所述调用信息生成与所述第一页面相对应的标识和回调函数;其中,所述标识与所述回调函数以键值对的形式进行存储;
基于预设指令直接获取所述第二页面的窗口对象,以基于所述窗口对象的第一预设数据接口,将所述调用信息和所述标识发送到所述第二页面所在域的服务器,以使所述第二页面所在域的服务器根据所述调用信息进行数据处理,获得包含所述标识的回传数据;
所述第一页面所在域的服务器基于所述标识与所述回调函数接收所述回传数据,完成跨域的信息交互。
可选地,在本说明书一个或多个实施例中,所述根据业务需求向第二页面所在域的服务器发出调用信息之前,所述方法还包括:
确定第一页面所在域的服务器所需数据所属的域;
若所述所需数据所属的域为所述第一页面所在域,则不生成调用信息,并将并将所需数据的请求发送到第一页面所在域的服务器,以使所述第一页面所在域的服务器获取对应的数据;
若所述所需数据所述的域为第二页面所在域,则根据业务需求生成对应的调用信息。
可选地,在本说明书一个或多个实施例中,所述根据所述调用信息生成与所述第一页面对应的标识和回调函数之后,所述方法还包括:
在预设时间内基于预设程序对所述标识进行监听;
若在所述预设时间内,监听到所述第二页面所在域的服务器,返回所述标识,则确定所述跨域信息交互成功;
若在所述预设时间内,不能监听到所述第二页面所在域的服务器,返回所述标识,则向所述第一页面所在域的服务器返回跨域信息交互失败。
可选地,在本说明书一个或多个实施例中,所述第一页面基于所述标识与所述回调函数接收所述回传数据,具体包括:
基于所述第一页面的第二预设数据接口,将所述回传数据加入待接收队列;
所述第一页面根据所述标识与所述回调函数,将所述待接收队列中相应的回传数据进行接收。
本说明书一个或多个实施例提供一种跨域信息交互设备,应用于第二页面所在域的服务器,设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为所述第二页面的HTML标签内嵌套的子页面;
根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识;
基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口;
通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
本说明书一个或多个实施例提供一种跨域信息交互设备,应用于第一页面所在域的服务器,设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
根据业务需求向第二页面所在域的服务器发出调用信息;其中,所述第一页面为父页面内的一个或多个HTML标签内的子页面;所述第二页面为父页面;
根据所述调用信息生成与所述第一页面相对应的标识和回调函数;其中,所述标识与所述回调函数以键值对的形式进行存储;
基于预设指令直接获取所述第二页面的窗口对象,以基于所述窗口对象的第一预设数据接口,将所述调用信息和所述标识发送到所述第二页面所在域的服务器,以使所述第二页面所在域的服务器根据所述调用信息进行数据处理,获得包含所述标识的回传数据;
所述第一页面所在域的服务器基于所述标识与所述回调函数接收所述回传数据,完成跨域的信息交互。
本说明书一个或多个实施例中提供一种非易失性存储介质,应用于第二页面所在域的服务器,包含有计算机可执行指令,所述可执行指令包括:
接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为所述第二页面的HTML标签内嵌套的子页面;
根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识;
基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口;
通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
本说明书一个或多个实施例中提供一种非易失性存储介质,应用于第一页面所在域的服务器,包含有经计算机可执行指令,所述可执行指令包括:
根据业务需求向第二页面所在域的服务器发出调用信息;其中,所述第一页面为父页面内的一个或多个HTML标签内的子页面;所述第二页面为父页面;
根据所述调用信息生成与所述第一页面相对应的标识和回调函数;其中,所述标识与所述回调函数以键值对的形式进行存储;
基于预设指令直接获取所述第二页面的窗口对象,以基于所述窗口对象的第一预设数据接口,将所述调用信息和所述标识发送到所述第二页面所在域的服务器,以使所述第二页面所在域的服务器根据所述调用信息进行数据处理,获得包含所述标识的回传数据;
所述第一页面所在域的服务器基于所述标识与所述回调函数接收所述回传数据,完成跨域的信息交互。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过预设数据接口与调用函数使得第一页面与第二页面之间的功能调用,可以像函数调用一样,降低了业务编码的复杂度且提高了程序组织的灵活性。通过回传数据中的对应标识与回调函数的键值关系,使得回传数据可以准确传输到对应的第一页面中,降低了信息传输过程中的错误率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书实施例提供的应用于第二页面所在域的服务器的一种跨域信息交互方法的流程示意图;
图2为本说明书实施例提供的一种应用场景下的跨域信息交互流程示意图;
图3为本说明书实施例提供的应用于第一页面所在域的服务器的一种跨域信息交互方法的流程示意图;
图4为本说明书实施例提供的一种应用场景下的会话机制示意图;
图5为本说明书实施例提供的应用于第二页面所在域的服务器的一种跨域信息交互设备内部结构示意图;
图6为本说明书实施例提供的应用于第一页面所在域的服务器的一种跨域信息交互设备内部结构示意图;
图7为本说明书实施例提供的应用于第二页面所在域的服务器的一种非易失性存储介质内部结构示意图;
图8为本说明书实施例提供的应用于第一页面所在域的服务器的一种非易失性存储介质内部结构示意图。
具体实施方式
本说明书实施例提供一种跨域信息交互方法、设备及介质。
在微服务化时代,WEB端所承载的功能越来越多,WEB集成系统功能也越来越复杂,不同模块之间的数据交互就显得尤为重要。通常情况下,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议,端口号,以及主机时,这两个脚本才能相互通信。当两个页面分属于不同的域时,就需要进行跨域信息交互。
目前,父子工程之间的交互都是拿到相互的全局对象进行方法的调用,无法实现不同域名之间的页面调用。且直接通过全局对象进行方法的调用要求业务必须在一个公共的地方实现,尽量避免多业务分散,对编码不够灵活。此外调用者对函数的调用无法确定是同步还是异步,学习成本高。
为解决上述技术问题,本说明书提供了一种跨域信息交互方法。通过第一页面与第二页面的预设数据接口进行信息分发,并在每一次的信息交互时将通过回调函数的预设方法将原本异步的消息传递过程封装为对上层调用的同步化函数。使得第一页面与第二页面彼此之间进行功能调用时可以如函数一样进行同步调用,提高了页面间跨域交互的灵活度。此外,通过对回传数据中标识的监听,确保每次的函数调用都必须在允许的时间范围内返回结果,避免了业务逻辑假死的问题。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
如图1所示,本说明书一个或多个实施例中提供了用于在第二页面所在域的服务器的一种跨域信息交互方法流程示意图。
由图1可知,方法包括以下步骤:
S101:接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为所述第二页面的HTML标签内嵌套的子页面。
随着Web网站的蓬勃发展,催生出了一种前端复杂的通信需求,即父子页面之间的通信。比如,在父页面中打开子页面后,如果想在子页面某一区域显示父页面的特色信息,那么父页面需要传递数据给子页面用于显示,这是父页面向子页面通信的典型场景;同样,子页面也有向父页面通信的需求,比如父页面打开一个子页面用于获取客户输入的数据,客户在子页面输入完毕后,子页面需要把数据传递给父页面,父页面再进行后续的处理,各种情况下都需要页面之间进行交互,而当网页中的iframe是不同域时则需要进行跨域交互。
在进行页面之间的跨域交互时,第二页面所在域非服务器需要接收第一页面所在域的服务器发出的调用信息,以使第二页面所在域的服务器可以进行后续处理将数据返回第一页面进行显示。
其中,需要说明的是,第一页面为第二页面的HTML标签内嵌套的子页面,且本说明书一个或多个实施例中HTML标签为嵌套框架,该HTML标签包括但不限于iframe嵌套,只要可以实现页面之间的跨域嵌套即可,本发明实施例不作限制。下面本发明实施例主要以嵌套框架iframe为例进行说明,可以理解的是,本发明实施例中的父页面可以预先进行了封装,该父页面可以基于iframe嵌套有多个子页面。
S102:根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识。
当第二页面所在域的服务器接收到第一页面所在域的服务器发送的调用信息后,首先进行消息的分发从而调用具体的业务处理逻辑,对调用信息进行数据处理获得相应的回传数据。其中,需要说明的是第一页面所在域发送的调用信息中包含于该调用信息相对应的标识,而第二页面所在域的服务器在处理数据后,将对应标识也添加到回传数据中,以便后续根据该对应标识将回传数据传输到指定的第一页面中。
S103:基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口。
基于步骤S102中第二页面所在域的服务器在处理完数据,获得的回传数据后需要获得第二页面iframe框架中所嵌套的子页面的窗口对象,从而根据该窗口对象获得第一页面的预设数据接口。
如图2提供的一种应用场景下的跨域信息交互流程示意图,以第二页面为父页面第一页面为子页面那么该过程为:父页面在处理完数据后,需要拿到iframe框架中嵌套的子页面的窗口对象,从而根据子页面的预设数据接口进行数据回传到窗口对象中。
S104:通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
通过第一页面的预设数据接口把所述回传数据发送到待发送队列,因为对应标识与回调函数以键值对的形式进行存储,所以根据回传数据中包含的对应标识能够获取与回传数据相对应的回调函数。在回调函数中调用预设方法,将待发送队列中的回传数据发送到对应的第一页面所在域的服务器中,实现回传数据的同步调用。
在本说明书一个或多个实施例中,预设数据接口为PostMessage,预设方法为Promise.resolve。则该过程为:通过第一页面的PostMessage将回传数据发送到待发送队列,同时根据对应标识与回调函数之间的键值关系,调用回调函数的Promise.resolve方法从而将回传数据发送到对应的第一页面所在域的服务器中。通过使用回调函数进行数据传回,使得第一页面与第二页面之间进行功能调用时,可以像正常函数一样进行调用,提高了程序组织的灵活性。通过调用回调函数中的预设方法将基于第一页面预设数据接口的异步消息传递变为上层的同步方法调用。
如图3所示,本说明书一个或多个实施例中提供了应用在第一页面所在域的服务器的一种跨域信息交互方法。
由图3可知,方法包括以下步骤:
S301:根据业务需求向第二页面所在域的服务器发出调用信息;其中,所述第一页面为父页面内的一个或多个HTML标签内的子页面;所述第二页面为父页面。
在第一页面所在域的服务器向第二页面所在域的服务器发出调用信息之前,首先根据业务需求确定第一页面所在域的服务器所需数据。如果确定第一页面所在域的服务器所需要的数据与第一页面所在域相同,那么不需要进行跨域即可完成信息交互。将所需数据的请求发送到第一页面所在域的服务器,获取对应的数据即可。如果确定所需数据所属的域为第二页面所在域,那么根据第一页面所在域的服务器的页面需求生成相对应的调用信息进行后续的数据调用。其中,需要说明的是第二页面是父页面,第一页面是父页面内嵌套的一个或多个iframe框架内的子页面。
S302:根据所述调用信息生成与所述第一页面相对应的标识和回调函数;其中,所述标识与所述回调函数以键值对的形式进行存储。
如图4所示,当第一页面所在域的服务器需要进行跨域交互时,会根据调用信息生成一个与第一页面相对应的标识和回调函数代表此次交互过程,并将对应的标识与回调函数以键值对的形式进行存储。以便在向第二页面所在域的服务器进行信息交互时,根据该标识与回调函数进行回传,使得第一页面所在域的服务器可以接收到正确的回传数据。
如图2所示,在根据调用信息生成与第一页面对应的标识和回调函数,确定发起调用的同时发起异步调用超时机制,以在预设时间内基于预设程序对所述标识进行监听。如果在预设时间内,监听到第二页面所在域的服务器,返回该标识,那么可以确定第一页面与第二页面之间的跨域信息交互成功。如果在预设时间内,不能监听到第二页面所在域的服务器,返回对应的标识,那么超时判断程序会判断第一页面所在域的服务器的跨域信息交互失败。确保了每次的调用都在允许的时间范围内返回结果,避免了超时或故障所导致的业务的逻辑假死。
S303:基于预设指令直接获取所述第二页面的窗口对象,以基于所述窗口对象的第一预设数据接口,将所述调用信息和所述标识发送到所述第二页面所在域的服务器,以使所述第二页面所在域的服务器根据所述调用信息进行数据处理,获得包含所述标识的回传数据。
由上述步骤S301可知,第一页面为子页面而第二页面为父页面,父子项目间的消息传递定义了嵌套页面之间如何实现彼此的交互,在第一页面所在域的服务器需要与第二页面所在域的服务器进行消息传输时,首先需要获取第二页面的窗口对象即window对象。再根据window对象的第一预设数据接口将调用信息和标识发送到第二页面所在域的服务器,从而获得第二页面所在域的服务器根据调用信息进行数据处理后的回传数据。其中需要说明的是因为标识与回传数据是以键值对的方式进行存储的根据标识可以获得对应的回传数据,所以第二页面所在域的服务器在进行数据处理之后生成的回传数据是包含标识的,以确保跨域信息交互的可靠性。
S304:所述第一页面所在域的服务器基于所述标识与所述回调函数接收所述回传数据,完成跨域的信息交互。
根据第一页面的第二预设数据接口,把步骤S203中获得的回传数据加入到待接收队列。第一页面根据所述标识与所述回调函数,把待接收队列中与该交互过程相对应的回传数据进行接收,从而完成页面之间的跨域信息交互。
如图5所示,本说明书实施例提供应用于第二页面所在域的服务器的,一种跨域信息交互设备内部结构示意图。
由图5可知,设备包括:至少一个处理器501;以及,
与所述至少一个处理器501通信连接的存储器502;其中,
所述存储器502存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够:
接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为所述第二页面的HTML标签内嵌套的子页面;
根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识;
基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口;
通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
如图6所示,本说明书实施例提供应用于第一页面所在域的服务器的,一种跨域信息交互设备内部结构示意图。
由图6可知,设备包括:
至少一个处理器601;以及,
与所述至少一个处理器601通信连接的存储器602;其中,
所述存储器602存储有可被所述至少一个处理器601执行的指令,所述指令被所述至少一个处理器601执行,以使所述至少一个处理器601能够:
根据业务需求向第二页面所在域的服务器发出调用信息;其中,所述第一页面为父页面内的一个或多个HTML标签内的子页面;所述第二页面为父页面;
根据所述调用信息生成与所述第一页面相对应的标识和回调函数;其中,所述标识与所述回调函数以键值对的形式进行存储;
基于预设指令直接获取所述第二页面的窗口对象,以基于所述窗口对象的第一预设数据接口,将所述调用信息和所述标识发送到所述第二页面所在域的服务器,以使所述第二页面所在域的服务器根据所述调用信息进行数据处理,获得包含所述标识的回传数据;
所述第一页面所在域的服务器基于所述标识与所述回调函数接收所述回传数据,完成跨域的信息交互。
如图7所示,本说明书实施例提供应用于第二页面所在域的服务器的一种非易失性存储介质的内部结构示意图。
由图7可知,一种非易失性存储介质,存储有计算机可执行指令,所述可执行指令包括:
接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为所述第二页面的HTML标签内嵌套的子页面;
根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识;
基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口;
通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
如图8所示,本说明书实施例提供应用提出第一页面所在域的服务器的一种非易失性存储介质的内部结构示意图。
由图8可知,一种非易失性存储介质,存储有经计算机可执行指令,所述可执行指令包括:
根据业务需求向第二页面所在域的服务器发出调用信息;其中,所述第一页面为父页面内的一个或多个HTML标签内的子页面;所述第二页面为父页面;
根据所述调用信息生成与所述第一页面相对应的标识和回调函数;其中,所述标识与所述回调函数以键值对的形式进行存储;
基于预设指令直接获取所述第二页面的窗口对象,以基于所述窗口对象的第一预设数据接口,将所述调用信息和所述标识发送到所述第二页面所在域的服务器,以使所述第二页面所在域的服务器根据所述调用信息进行数据处理,获得包含所述标识的回传数据;
所述第一页面所在域的服务器基于所述标识与所述回调函数接收所述回传数据,完成跨域的信息交互。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (10)
1.一种跨域信息交互方法,其特征在于,应用于第二页面所在域的服务器,所述方法包括:
接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为所述第二页面的HTML标签内嵌套的子页面;
根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识;
基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口;
通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
2.根据权利要求1所述的一种跨域信息交互方法,其特征在于,所述通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中,具体包括:
通过所述预设数据接口将所述回传数据发送到待发送队列;
根据所述对应标识获取所述回传数据的回调函数;其中,所述对应标识与所述回调函数以键值对的形式进行存储;
在所述回调函数中调用预设方法,以将所述待发送队列中的回传数据发送到对应的第一页面所在与的服务器中,以实现回传数据的同步调用。
3.根据权利要求1所述的一种跨域信息交互方法,其特征在于,所述HTML标签为iframe框架;所述预设数据接口为PostMessage;所述预设转换方法为:Promise的resolve方法。
4.一种跨域信息交互方法,其特征在于,应用于第一页面所在域的服务器,所述方法包括:
根据业务需求向第二页面所在域的服务器发出调用信息;其中,所述第一页面为父页面内的一个或多个HTML标签内的子页面;所述第二页面为父页面;
根据所述调用信息生成与所述第一页面相对应的标识和回调函数;其中,所述标识与所述回调函数以键值对的形式进行存储;
基于预设指令直接获取所述第二页面的窗口对象,以基于所述窗口对象的第一预设数据接口,将所述调用信息和所述标识发送到所述第二页面所在域的服务器,以使所述第二页面所在域的服务器根据所述调用信息进行数据处理,获得包含所述标识的回传数据;
所述第一页面所在域的服务器基于所述标识与所述回调函数接收所述回传数据,完成跨域的信息交互。
5.根据权利要求4所述的一种跨域信息交互方法,其特征在于,所述根据业务需求向第二页面所在域的服务器发出调用信息之前,所述方法还包括:
确定第一页面所在域的服务器所需数据所属的域;
若所述所需数据所属的域为所述第一页面所在域,则不生成调用信息,并将并将所需数据的请求发送到第一页面所在域的服务器,以使所述第一页面所在域的服务器获取对应的数据;
若所述所需数据所属的域为第二页面所在域,则根据业务需求生成对应的调用信息。
6.根据权利要求4所述的一种跨域信息交互方法,其特征在于,所述根据所述调用信息生成与所述第一页面对应的标识和回调函数之后,所述方法还包括:
在预设时间内基于预设程序对所述标识进行监听;
若在所述预设时间内,监听到所述第二页面所在域的服务器,返回所述标识,则确定所述跨域信息交互成功;
若在所述预设时间内,不能监听到所述第二页面所在域的服务器,返回所述标识,则向所述第一页面所在域的服务器返回跨域信息交互失败。
7.根据权利要求4所述的一种跨域信息交互方法,其特征在于,所述第一页面基于所述标识与所述回调函数接收所述回传数据,具体包括:
基于所述第一页面的第二预设数据接口,将所述回传数据加入待接收队列;
所述第一页面根据所述标识与所述回调函数,将所述待接收队列中相应的回传数据进行接收。
8.一种跨域信息交互设备,其特征在于,应用于第一页面所在域的服务器,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为第二页面的HTML标签内嵌套的子页面;
根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识;
基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口;
通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
9.一种跨域信息交互设备,其特征在于,应用于第二页面所在域的服务器,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
根据业务需求向第二页面所在域的服务器发出调用信息;其中,第一页面为父页面内的一个或多个HTML标签内的子页面;所述第二页面为父页面;
根据所述调用信息生成与所述第一页面相对应的标识和回调函数;其中,所述标识与所述回调函数以键值对的形式进行存储;
基于预设指令直接获取所述第二页面的窗口对象,以基于所述窗口对象的第一预设数据接口,将所述调用信息和所述标识发送到所述第二页面所在域的服务器,以使所述第二页面所在域的服务器根据所述调用信息进行数据处理,获得包含所述标识的回传数据;
所述第一页面所在域的服务器基于所述标识与所述回调函数接收所述回传数据,完成跨域的信息交互。
10.一种非易失性存储介质,其特征在于,应用于第二页面所在域的服务器,包含有计算机的可执行指令,所述可执行指令为:
接收第一页面所在域的服务器发出的调用信息;其中,所述第一页面为所述第二页面的HTML标签内嵌套的子页面;
根据所述调用信息进行数据处理,获得回传数据;其中,所述回传数据包括所述调用信息的对应标识;
基于预设指令获取所述第一页面的窗口对象,并基于所述窗口对象获取第一页面的预设数据接口;
通过所述预设数据接口与所述标识确定对应的回调函数,并基于所述对应的回调函数将所述回传数据发送到对应的第一页面所在域的服务器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111354962.3A CN114090933B (zh) | 2021-11-16 | 2021-11-16 | 一种跨域信息交互方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111354962.3A CN114090933B (zh) | 2021-11-16 | 2021-11-16 | 一种跨域信息交互方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114090933A CN114090933A (zh) | 2022-02-25 |
CN114090933B true CN114090933B (zh) | 2024-05-10 |
Family
ID=80300927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111354962.3A Active CN114090933B (zh) | 2021-11-16 | 2021-11-16 | 一种跨域信息交互方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090933B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095762A (zh) * | 2011-11-02 | 2013-05-08 | 腾讯科技(深圳)有限公司 | Web页面跨域通信方法和装置 |
CN103500053A (zh) * | 2013-09-04 | 2014-01-08 | 上海软智信息科技有限公司 | 一种跨域数据交互方法和装置 |
CN104572263A (zh) * | 2014-12-30 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种页面数据交互方法、相关装置及系统 |
CN105045887A (zh) * | 2015-07-24 | 2015-11-11 | 苏州工业园区迪锐信信息科技有限责任公司 | 混合模式跨域数据交互的系统及其方法 |
CN109284470A (zh) * | 2018-10-25 | 2019-01-29 | 天津字节跳动科技有限公司 | 页面窗口通信方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170149934A1 (en) * | 2015-11-24 | 2017-05-25 | Le Holdings (Beijing) Co., Ltd. | Method, device and system for data cross-domain request |
-
2021
- 2021-11-16 CN CN202111354962.3A patent/CN114090933B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095762A (zh) * | 2011-11-02 | 2013-05-08 | 腾讯科技(深圳)有限公司 | Web页面跨域通信方法和装置 |
CN103500053A (zh) * | 2013-09-04 | 2014-01-08 | 上海软智信息科技有限公司 | 一种跨域数据交互方法和装置 |
CN104572263A (zh) * | 2014-12-30 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种页面数据交互方法、相关装置及系统 |
CN105045887A (zh) * | 2015-07-24 | 2015-11-11 | 苏州工业园区迪锐信信息科技有限责任公司 | 混合模式跨域数据交互的系统及其方法 |
CN109284470A (zh) * | 2018-10-25 | 2019-01-29 | 天津字节跳动科技有限公司 | 页面窗口通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114090933A (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7437275B2 (en) | System for and method of multi-location test execution | |
WO2019015272A1 (zh) | 信息处理方法和装置 | |
CN112288577B (zh) | 分布式服务的交易处理方法、装置、电子设备和介质 | |
CN103001815A (zh) | 测试数据的获取方法、装置及系统 | |
CN106209966A (zh) | 管控端更新设备状态的方法、服务端的处理方法和装置 | |
CN114500481B (zh) | 业务请求处理方法、系统和装置 | |
CN106487712B (zh) | 用于接入多个外部系统的方法、装置及服务器 | |
CN107645476B (zh) | 请求处理方法和装置 | |
CN113626002A (zh) | 一种服务执行方法及装置 | |
US20220365759A1 (en) | Dynamic web-based integrated development environment | |
CN110704148B (zh) | 设备页面元素的获取方法、装置、服务器及存储介质 | |
CN106454403A (zh) | 数据显示方法、设备及系统 | |
CN114090933B (zh) | 一种跨域信息交互方法、设备及介质 | |
CN108804309B (zh) | 一种合同管理系统自动化测试方法及测试工具 | |
CN114338584B (zh) | 消息撤回方法和消息传输系统 | |
CN115187337A (zh) | 订单补偿方法、装置和设备及存储介质 | |
CN109840073B (zh) | 业务流程的实现方法和装置 | |
CN113778631A (zh) | 分布式事务补偿方法、装置、电子设备及可读存储介质 | |
CN110716972A (zh) | 高频率调用外部接口出错的处理方法和装置 | |
CN116991816B (zh) | 日志输出方法、装置、电子设备和存储介质 | |
CN110909269A (zh) | 一种日志上报的方法和装置 | |
CN114968407B (zh) | 插件调用方法、装置、电子设备及存储介质 | |
CN114756329A (zh) | 业务流程仿真方法及装置、电子设备和可读存储介质 | |
CN116012158A (zh) | 业务处理方法、装置、设备及存储介质 | |
CN112039847A (zh) | 基于分布式设备的调试系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |