JavaScript iFrame 到父级 postMessage 问题

标签 javascript iframe postmessage

我在 Firefox 和 Internet Explorer 中使用 postMessage 时遇到了问题,而 Google Chrome 每次都工作正常。

我想做的是使用 postMessage 从 iFrame 到我的父级,并执行 closeForm 操作。 iFrame URL 是父域的子域,iFrame 源本身也有 document.domain = document.domain 我相信它应该已经解决了我的问题。

当前 iFrame JavaScript 正在调用 window.top.postMessage('closeForm', '*') 正如我所提到的,这在 Chrome 中很有效,但在 Firefox 中我得到 ReferenceError: window is undefined 所以我将 window.top 更改为 parent.postMessage 但只有在 parent is not Defined< 时我才得到同样的结果.

同样的事情在 IE9 中也不起作用。有什么建议吗?

最佳答案

您在使用 postmessage 时似乎遇到了问题。您可以使用 jQuery postMessage。这是我在一些 iframe 跨域问题中使用的方法,并且有效。这是一个例子。

jQuery postMessage

关于JavaScript iFrame 到父级 postMessage 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12348788/

相关文章:

javascript - 如何通过postmessage发送json

javascript - 'postMessage'上执行 'DedicatedWorkerGlobalScope'失败 : Value at index 0 does not have a transferable type

javascript - 如何使用 Angular 获取对象内属性的长度

javascript - 浏览器中的文档预览

html - 如何使我的 iframe 适合整个部分?

javascript - 如何在考虑缓存的情况下延迟加载 iframe

javascript - 浏览器选项卡之间的通信

javascript - jquery 无法更改背景图像属性

javascript - 如何制作快速的非抗锯齿HTML5canvas基本绘图功能?

javascript - 按天分组水线结果