看起来像window.postMessage的目的是允许在不同域上托管的窗口/框架之间进行安全通信,但实际上它似乎并不允许在Chrome中使用.
这是场景:
src域B *)<iframe>绝对是在域B的上下文中,我已经确认<iframe>中的嵌入式javascript正确执行并postMessage使用正确的值进行调用.
我在Chrome中收到此错误消息:
无法发布消息到一个.收件人有产地乙.
这是在A页面上注册消息事件监听器的代码:
window.addEventListener(
"message",
function (event) {
// Do something
},
false);
Run Code Online (Sandbox Code Playgroud)
我也尝试过调用window.postMessage(some_data, '*'),但所有这一切都是为了抑制错误.
我只是忽略了这一点,是window.postMessage(...)不是为了这个吗?或者我只是做得非常糟糕?
*Mime-type text/html,它必须保留.