我有一个网络应用,当客户点击Drupal网页内容页面上的链接时,该应用会在新的弹出窗口中启动。
当用户到达Web应用程序工作流程中的某个页面时,我想向(仍然打开的)Drupal页面发送消息并向其传递一些信息(例如我在工作流程中的位置)。
当Drupal网站收到此“消息”时,它会调用一些javascript来更新当前显示的页面内容。
基本上,这是一种在一个域上执行Javascript的方法,来自另一个域中的Javascript函数。
我可以控制Drupal站点和Web应用程序,因此任何需要在任一端部署的javascript都不是问题。 但请注意,这两个网站位于不同的域中,因此我需要实现跨域工作的内容
我不知道如何实现这一点,到目前为止我已经考虑过JSON-P了。
答案 0 :(得分:0)
您的网络应用程序都在客户端运行,因此您无需向服务器询问如何与您已打开的窗口联系。
因此,为了节省时间和精力,请在客户端的窗口之间直接进行通信。
要将消息发送到另一个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
}