当我最初发布此答案时,我错了:它实际上在IE10中不起作用。 显然,由于其他原因,人们发现此功能很有用,因此我将其留给后代使用。原始答案如下:
值得注意的是:该答案中的链接与
postMessageIE8和IE9中独立窗口的跨域状态无关-
但是,它也是在IE10出现之前于2009年编写的。因此,我不会将其表示为已在IE10中修复。
至于
postMessage它本身明显表明它在IE10中仍然被破坏,这似乎与您的演示相匹配。caniuse页面链接到本文,其中包含一个非常相关的引用:
Internet Explorer 8+部分支持跨文档消息传递:它当前适用于iframe,但不适用于新窗口。但是,Internet Explorer
10将支持MessageChannel。Firefox当前支持跨文档消息传递,但不支持MessageChannel。
因此,您最好的选择是拥有一个
MessageChannel基本的代码路径,
postMessage如果不存在,则回退到该路径。它不会获得IE8 /IE9的支持,但至少可以与IE10一起使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)