【问题标题】:Communicating cross-origin from parent to child iframe从父 iframe 到子 iframe 进行跨域通信
【发布时间】:2013-09-26 01:56:17
【问题描述】:

我正在处理Third Party Javascript。我对父页面和来自不同来源的子框架之间的通信特别感兴趣。使用 window.postMessage,安全地从子级发送消息并让父级通过 message 事件接收它们是微不足道的。

我没有运气去另一个方向。我是否可以确认无法使用 postMessage 从父母与孩子进行交流?如果不是,有什么方法可以解决这个问题?

【问题讨论】:

    标签: javascript html postmessage


    【解决方案1】:

    您应该能够在任意两个协作窗口之间使用.postMessage()。您向哪个方向发送消息并不重要。如果它不是在一个方向上工作,那么实施中可能存在错误。您可能需要确保拥有正确的窗口对象。

    对于 iframe,您可能希望使用 .contentWindow 属性在现代浏览器中获取其窗口。

    这里有一些很好的文档:https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage

    【讨论】:

    • 你说的太对了。我的实现有一个我在发布后才看到的错误。
    • 您知道如何获取 .contentWindow 属性吗?我的页面中的 iframe 上似乎没有。也是同一个域...
    • 这对我来说非常有用。谢谢!
    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2010-10-16
    • 1970-01-01
    • 2013-03-13
    • 2014-05-07
    • 1970-01-01
    相关资源
    最近更新 更多