如何将事件从父项 window 发送到其子项 window?

How can I send an event from parent window to its child window?

我想从父 window 发送一些 event/data 给它的子 window。我该怎么做?

我试过 postMessage,但没用。

如果您所指的子 window 是一个 iFrame,那么 postMessage 就是您所坚持的方法。

在没有看到您尝试过的任何代码的情况下,很难说您对 postMessage 的特定用法有什么不起作用 – 然而,这里是 link 到 working postMessage example from an MDN article, as well as an article with a fully functional example 你可以从中剖析代码。

其中一个应该能够告诉您为什么您的实施不起作用。

它现在有效了,之前我犯了一些语法错误。这是相同的正确代码。

//parent Window
childWindow=window.open("http:/localhost/abcd.php","_blank","width=500,height=500");
childWindow.postMessage('message',"http://localhost:80/child.php");


//child Window
var newUrl='';
window.addEventListener(
 "message",
 function(e) { 

console.log(e.data);//your data is captured in e.data 
}, false);