2013-10-09 72 views
0

我有一个web应用程序,当客户点击Drupal网站内容页面上的链接时,它会在新的弹出窗口中启动。不同域之间的两个Web应用程序之间的Javascript通信

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

当Drupal网站收到此消息时,它会调用一些JavaScript来更新当前显示的页面内容。

所以基本上,一种方法来执行一个域上的Javascript,从另一个域的Javascript功能。

我可以控制Drupal站点和Web应用程序,所以任何需要在任一端部署的JavaScript都不是问题。 但要注意的是,两个网站都在不同的领域,所以我需要实现的东西,将工作跨域

我不知道如何实现这一点,我也考虑过JSON-P至今。

回答

0

您的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 
} 
+0

认罪如果我的回答有帮助,请让我知道。 –

相关问题