【发布时间】:2017-10-11 15:18:19
【问题描述】:
我打开一个弹出窗口:
a = window.open('//example.com');
在这个窗口中我发送一条消息:
window.opener.postMessage('test', '*');
并通过以下方式接收:
window.addEventListener('message', e => b = e.source);
因为这会触发发送到窗口的 任何 消息,所以我想制作类似 if(a == b) 的内容来验证消息是否来自窗口 a。可悲的是,这总是返回false。有什么想法吗?
【问题讨论】:
-
您的源代码工作正常吗? postMessage 需要多一个参数才能运行。
-
@songxunzhao 你说得对,我忘了。但这不是重点。
-
它适用于我的示例,请查看此链接plnkr.co/edit/q1bfQwWJlsx8eQbGSqEA?p=preview
-
@songxunzhao 嗯,这很奇怪。将在我的环境中再次检查。感谢您指出。
标签: javascript window popupwindow postmessage