0
点赞
收藏
分享

微信扫一扫

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://xxx.cn') does n

奋斗De奶爸 2022-05-27 阅读 17

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://xxx.cn') does not match the recipient window's origin ('null').

使用​​event.source​​​作为回信对象
具体参见:​​​https://developer.mozilla.org...​​

//当A页面postMessage被调用后,这个function被addEventListenner调用
function receiveMessage(event)
{
// 我们能信任信息来源吗?
if (event.origin !== "http://example.com:8080")
return;

// event.source 就当前弹出页的来源页面
// event.data 是 "hello there!"

// 假设你已经验证了所受到信息的origin (任何时候你都应该这样做), 一个很方便的方式就是把enent.source
// 作为回信的对象,并且把event.origin作为targetOrigin
event.source.postMessage("hi there yourself! the secret response " +
"is: rheeeeet!",
event.origin);
}

window.addEventListener("message", receiveMessage, false);

  • 答案对人有帮助,有参考价值0答案没帮助,是错误的答案,答非所问

​otherWindow.postMessage(message, targetOrigin, [transfer]);​​ otherWindow:其他窗口的一个引用,比如iframe的contentWindow属性、执行window.open返回的窗口对象、或者是命名过或数值索引的window.frames。
otherWindow不能是当前窗口哦
参见​​MDN​​

举报

相关推荐

0 条评论