跨域PostMessage通信:父未定义

时间:2014-07-21 13:28:20

标签: javascript cross-domain postmessage

在共享主机上有一个丑陋的https网址,我一直在尝试使用代理postMessage()方法解决javascript跨网域限制问题。从主页面向孩子发送消息似乎最初是完美的。当我尝试回答时出现问题。

MessageEvent的源属性未定义,window.parentwindow.top也未定义。因此,我没有引用父窗口,也没有办法发送请求的结果。

任何帮助解决问题的人都将不胜感激!

修改

父:

// Never gets triggered
window.addEventListener("message", function(e) { console.log(e); });
var data = "some string";
document.getElementById("proxy_frame")
        .contentWindow.postMessage(data,"https://proxys-domain/");

子:

window.addEventListener("message", function(e) {
    // This appears in chrome/ie/firefox console correctly
    console.log(message);    

    // This triggers :
    // Uncaught TypeError: Cannot read property 'postMessage' of undefined
    e.source.postMessage(event.currentTarget, e.origin);   
}

0 个答案:

没有答案