似乎window.postMessage的重点是允许在不同域中托管的Windows /框架之间进行安全通信,但实际上似乎不允许在Chrome中进行通信。
这是场景:
在域A的页面中嵌入<iframe>(具有src域B *)
<iframe>最终主要是一个<script>标记,在执行结束时...
我叫window.postMessage(some_data,page_on_A)
<iframe>绝对是在域B的上下文中,并且我已经确认<iframe>中的嵌入式javascript可以正确执行并postMessage使用正确的值进行调用。
我在Chrome中收到以下错误消息:
无法发布消息到一个。收件人有产地乙。
这是在A页面上注册消息事件侦听器的代码:
window.addEventListener(
"message",
function (event) {
// Do something
},
false);
我也尝试过致电window.postMessage(some_data, '*'),但所有要做的就是抑制错误。
我只是在这里遗漏了一点,是不是window.postMessage(...)并非要这样做吗?还是我只是做错了什么?
* MIME类型的text / html,必须保留。
相关分类