Javascript 如何在浏览器中通过交叉选项卡发送和接收消息?

Javascript 如何在浏览器中通过交叉选项卡发送和接收消息?,javascript,browser,cross-browser,postmessage,Javascript,Browser,Cross Browser,Postmessage,我想打开一个新窗口,将消息发送到此窗口,然后在另一个选项卡中接收。我正在这样做,但它不起作用 if (id > 0) { var w = window.open(testurl,"address"); w.postMessage("ddd", "address"); } 新窗口已打开,但未显示数据。 这里是另一个窗口内容 <script> window.addEventListener("message", receiv

我想打开一个新窗口,将消息发送到此窗口,然后在另一个选项卡中接收。我正在这样做,但它不起作用

if (id > 0) {
            var w = window.open(testurl,"address");
            w.postMessage("ddd", "address");
}
新窗口已打开,但未显示数据。 这里是另一个窗口内容

<script>
    window.addEventListener("message", receiveMessage, false);

    function receiveMessage(event) {
        alert(event.data);


    }
</script>

window.addEventListener(“消息”,receiveMessage,false);
函数接收消息(事件){
警报(事件数据);
}

数据未发出警报。问题是什么?

targetOrigin
与您要打开的窗口的名称不同。Origin是在打开的窗口中发出通知
document.Origin
时得到的值


这是您应该作为第二个值传递给
postMessage
;不是窗口的名称。

您试图在发送邮件的文档加载之前发送邮件。如果您希望文档能够立即访问数据,请使用查询字符串。是的,我也认为这是一个问题。