提供的目标原点与收件人窗口的原点不匹配(火箭聊天)

时间:2018-06-22 16:28:57

标签: javascript reactjs iframe cors

我的Rocket chat托管在https://chat.mydomain.com

我的网络应用(iframe所在的位置)托管在https://app.mydomain.com

我已经能够在背面很好地注册用户,当他们登录时返回一个authToken。当我尝试将authLogin从我的ReactJS应用程序中发布回iframe时...

self

...但是,出现以下错误:

<iframe src="https://chat.mydomain.com/?layout=embedded" onLoad={() => this.login()} />

...

onLoad(){
    window.parent.postMessage({
        event: 'login-with-token',
        loginToken: authToken
    }, 'https://chat.mydomain.com');
}

有什么想法吗?

p.s。我已经在设置中启用了iframe集成以及已启用的CORS。

1 个答案:

答案 0 :(得分:1)

尝试以下操作:

onLoad(){
    window.parent.postMessage({
        event: 'login-with-token',
        loginToken: authToken
    }, '*');
}

或放置一个ID iframe:

<iframe id = "myiframe" src="https://chat.mydomain.com/?layout=embedded" onLoad={() => this.login()} />

...

onLoad(){
     document.getElementById('myiframe').contentWindow.parent.postMessage({
        event: 'login-with-token',
        loginToken: authToken
    }, '*');
}