将消息从一个窗口传递到另一个窗口

时间:2014-11-08 09:39:40

标签: html5 api postmessage

我正在尝试将消息从comn.html窗口传递到comm.html窗口,但它没有通过 请告诉我代码是否正确。如果没有,请提供确切的代码。 我希望代码在窗口之间传递消息,而不是在iframe之间。

comn.html代码:

<html>

<head>

<script>

window.onload = function() 
{
var btn = document.getElementById('send');
btn.addEventListener('click', function sendMessage(e)
{
var string="Hi Adaptavant";
var new_win=window.open('comm.html');
new_win.postMessage(string,"*");
});
}

</script>
</head>
<body>
<button id="send" >Send Message</button>
</body>
</html>

comm.html代码:

<html>
<head>
<title>postMessage</title>
<script type=text/javascript>

window.onload = function()
{
var msg = document.getElementById('message');
window.addEventListener("message",function receiveMessage(e) {
msg.innerHTML="msg received= " +e.data;
document.write("the message is " +msg);
}

</script>
</head>
<body>
<div id="message"></div>
</body>
</html>

如果我运行此程序,我的消息不会在另一个窗口中发布。

有什么问题?

1 个答案:

答案 0 :(得分:0)

用以下代码替换你的脚本:

window.onload = function()
{
var msg = document.getElementById('message');
window.addEventListener('message', function(e) {
  var message = e.data;
  msg.innerHTML="msg received= " +e.data;
});
}

让我知道它是否有效!