我正在使用postMessage()在父母window
和孩子iframe
之间进行交流。目前,我仅在jest
单元测试中定义了父项。
当我从iframe
发布消息时,我仅引用window.parent
作为我的targetWindow
:
window.parent.postMessage(myMessage, "*");
但是,尽管我的iframe
不是iframe
,但在我的window.parent
的消息事件处理程序中,我正在接收消息。我也尝试通过检查event.source
来过滤掉这些消息,但是event.source
总是看起来像null
。
jest
弄乱了我的window
定义,导致iframe
和parent
是同一对象吗?这里发生了什么,我该如何避免?