繁体   English   中英

不同域上的两个Web应用程序之间的Javascript通信

[英]Javascript communication between two web applications on different domains

我有一个Web应用程序,当客户单击Drupal Web内容页面上的链接时,该应用程序将在新的弹出窗口中启动。

当用户到达Web应用程序工作流程中的某个页面时,我想向(仍打开的)Drupal页面发送一条消息,并向其传递一些信息(例如我在工作流程中的位置)。

当Drupal网站收到此“消息”时,它会在其末端调用一些javascript以更新当前显示的页面内容。

因此,基本上,这是从另一个域中的Javascript函数在一个域中执行Javascript的方法。

我对Drupal网站和Web应用程序都有控制权,因此任何需要在任一端部署的javascript都不成问题。 但是请注意,这两个站点位于不同的域中,因此我需要实现一些可以跨域工作的东西

我不确定如何实现它,到目前为止,我已经考虑了JSON-P。

您的两个Web应用程序都在客户端运行,因此您无需向服务器询问如何与已打开的窗口联系。

因此,为了节省时间和精力,请在客户端的窗口之间进行直接通信。

要将消息发送到另一个html页面,您需要首先在打开的窗口中保留一个变量,如下所示:

// This code is inside the html file that open 
// the drupal site.
var windowOpened = window.open("drupalUrl.html");

但是,在drupalUrl.html中,您需要创建一个全局函数,因此可以这样调用:

windowOpened.globalFunction(param1, param2);

如我所说,在drupalUrl.html中,您需要创建一个函数:

function globalFunction(param1, param2){
    //show your message
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM