使用Window.open从父级打开的两个同级窗口之间的通信

问题描述 投票:0回答:1

我在2个窗口之间的通信中遇到问题,我有一个窗口P,它是父窗口。我使用window.open('path',A);打开新的2个新窗口(A,B);和window.open('path',B)。现在我需要在A和B之间进行通信。请帮助进行B / w A和B之间的通信。

我尝试过这没用

// In A component
window.opener('A').postMessage(JSON.stringify(messageData), "*"); 

//In B component
window.addEventListener("message", this.receiveMessage.bind(this), false);

而且我也尝试过这不起作用

// IN A component
window.open('','A').postMessage(JSON.stringify(messageData), "*");

// IN B component
window.addEventListener("message", this.receiveMessage.bind(this), false);

我使用BroadCast的另一个方法无效

我在2个窗口之间的通信中遇到问题,我有一个窗口P,它是父窗口。我使用window.open('path',A);打开新的2个新窗口(A,B);和window.open('path',B)。现在我需要...

javascript angular cross-browser broadcastreceiver window.open
1个回答
0
投票

您将需要在所有窗口中都具有message侦听器。所有打开的窗口(此处为A和B)将转到postMessage()window.opener(此处为P)。然后,P将把收到的每条消息转发到所有打开的窗口,除了该消息的来源(来源)。

© www.soinside.com 2019 - 2024. All rights reserved.