【发布时间】:2013-10-03 02:11:23
【问题描述】:
我正在尝试使用 postMessage/receiveMessage 通过 iframe 访问跨域请求的响应。
iframe 调用通常执行特定操作的资源,但当出现错误时,它会使用调用 postMessage 的脚本 sn-p 进行响应。
这在开发环境中工作,但在生产中失败,我猜它与 HTTPS 有关,但不知道如何解决它。
响应代码如下所示:
<script>
$.postMessage(whateverData, 'https://abc.def.com', parent );
</script>
客户端的接收消息如下所示:
$.receiveMessage(function(e){
alert(e.data);
}, 'http://blah123');
我在控制台(Chrome 浏览器)中看到的错误如下所示:(显示 HTTP 请求 URL)
The page at https://abc.def.com/xyz/something.html#jkl displayed insecure content from http://blah123/sub/qwerty/target.aspx?parmsRemoved
Uncaught SyntaxError: Unexpected token ILLEGAL
这里出了什么问题?如何解决?
编辑:嗯,第一条控制台消息是否可能具有误导性 - 这与安全性无关,但错误是在解析我的“whateverData”变量中的文本时遇到问题?
【问题讨论】:
标签: javascript iframe cross-domain