在我的Web应用程序中,我使用了iframe
来加载“ RocketChat”聊天实例。但是,当我尝试使用window.postMessage()
浏览器登录到火箭聊天时,出现控制台错误。请找到以下屏幕截图。
axios.post('https://myDomain.rocket.chat/api/v1/login', {
username: '<myUserName>',
password: '<myPassword>'
}).then(function (response) {
if (response.data.status === 'success') {
res.set('Content-Type', 'text/html');
res.send(`
<iframe id="iframe" width="400px" height="900px" src="https://myDomain.rocket.chat?origin=http://localhost:3030"></iframe>
<script>
window.parent.postMessage({
event: 'login-with-token',
loginToken: '${ response.data.data.authToken }'
}, 'https://myDomain.rocket.chat/'); // rocket.chat's URL 206.189.138.6:3000
</script>
`);
}
}).catch(function() {
res.sendStatus(401);
});
答案 0 :(得分:0)
您需要使用有效的用户令牌向iframe发送命令,该用户令牌已经是您在iframe中浏览的频道的成员。