Do window.postMessage()适用于不同服务器上的不同应用程序

Do window.postMessage() works across different app on different Servers?

本文关键字:服务器 应用程序 适用于 window postMessage Do      更新时间:2023-09-26

所以,我有一个应用程序运行在Bluemix(让我们说路由是- myapp1.mybluemix.net)我有第二个应用程序(route - myapp2.mybluemix.net)。
现在我想通过

发送消息

postMessage("Hello","http://myapp2.mybluemix.net") from myapp1.mybluemix.net

如果我在一个耳朵里使用两个应用程序或打包服务器并将其部署在Bluemix上。我能做到。但不同的应用程序不能。

我不理解这种行为。请帮助。遵循App1 - 的代码
<script>  
 function Menu() {
     var child = window.open("http://myapp2.mybluemix.net/page2.jsp",'name',width=200,height=200);
   child.onload=function(){
    child.postMessage('hellow','http://myapp2.mybluemix.net/');
    }
  };
  </script>
  <input type="button" value="Try it" onclick="Menu()"/>

对于App2(即http://myapp2.mybluemix.net/page2.jsp)-

)
<script type="text/javascript">
function listenMessage(msg) {
alert(msg.data);
 }
 window.addEventListener("message", listenMessage, false);
</script>
<p id="message">This is an Example!</p>

你误诊了。

postMessage代码本身是好的。它不工作,因为你从来没有调用它。

无法检测到load事件。

让App 2监听自己的load事件,并在准备好时使用window.opener.postMessage通知App 1