该“的postMessage”是一个HTML5 API,它是在所有主流浏览器包括IE8 / 9可用。 我所试图做的是创建一个从页面的弹出窗口,并能够跟使用“postMessage的”弹出窗口。 这个工程除了IE8 / 9每一个浏览器。 失望!
它看起来像IE8 / 9只允许I帧之间的通信,而是两个之间没有窗户,甚至连窗户都处在同一层次内。
该“的postMessage”是一个HTML5 API,它是在所有主流浏览器包括IE8 / 9可用。 我所试图做的是创建一个从页面的弹出窗口,并能够跟使用“postMessage的”弹出窗口。 这个工程除了IE8 / 9每一个浏览器。 失望!
它看起来像IE8 / 9只允许I帧之间的通信,而是两个之间没有窗户,甚至连窗户都处在同一层次内。
该.postMessage
方法作品 ,你只需要了解它从IE8及以上的工作原理。 不幸的是,IE8和IE9它不会做你正在寻找什么(尽管它在IE10一样)。 虽然可以在IE8 / 9发送帧之间的消息,则不能将消息发送到一个单独的窗口。
有一个变通,在某些情况下工作。 马丁·毕比讨论了在他在这个问题上的博客文章的最后一段: PostMessage的弹出窗口和IE 。
欲了解更多关于这一点,和其他几个注意事项,请参阅埃里克·劳伦斯的MSDN上的帖子 。
我发现, .postMessage()
在IE9是不可靠的,除非我用String
秒。
我的解决方法是简单地调用.postMessage(JSON.stringify({object: 'data'}))
并使用JSON.parse()
在onMessage()
在另一端的功能。