所以,我有一个在Bluemix上运行的应用程序(比如说是route is- myapp1.mybluemix.net) 我有第二个应用程序(路线 - myapp2.mybluemix.net) 现在我想通过
发送消息postMessage(" Hello"," http://myapp2.mybluemix.net")来自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>
答案 0 :(得分:0)
你误解了这个问题。
postMessage
代码本身没问题。它不起作用,因为你从来没有打电话。
无法在原点检测到load
事件。
让应用2听取自己的load
事件,并使用window.opener.postMessage
在应用1准备就绪时向其宣布。