弹出窗口(子)和父窗口有不同的起源(对于这种情况,它是127.0.0.1-child和localhost-parent)。现在我想将数据从子节点传递给父节点。我试过了什么
- 在窗口对象上创建一个变量,让子设置该变量上的数据。-FAILED因为浏览器不允许将此作为父URL并且子URL不匹配。
-localStorage(有点黑客但只是为了解决这个问题) - .localStorage.setItem(" data")设置数据但是在通过localStorage.getItem检索数据时("数据")无法获取数据
-Postmessage-这没有任何错误,但事件没有被听取。
亲
window.addEventListener('message', receiveMessage, false);
function receiveMessage(evt)
{debugger;
if (evt.origin === 'http://my.iframe.org')
{
alert("got message: "+evt.data);
}
}
子
window.postMessage("Hello",<parent url>);
我错过了什么?或者没有办法实现这一点,因为父母和孩子的网址不匹配?