即9 cros domain window.open postMessage没有这样的接口支持

时间:2014-05-26 10:03:19

标签: javascript internet-explorer cross-domain popupwindow

我想打开另一个域的弹出窗口并使用postMessage

向其发送消息

代码在https://local_domain.test运行

var popupObj=window.open("https://different_domain.test/do.php", '', .....);
popupObj.postMessage("some text", "https://different_domain.test");  //other local domain for server

它适用于chrome和firefox但不适用于ie9 我在popupObj.postMessage

行上得到“不支持这样的接口”

接收域当然有所需的代码: window.addEventListener(“message”,receiveMessage,false); ......

1 个答案:

答案 0 :(得分:1)

IE9仅部分支持postMessage:在IE9中,您只能在iframe或框架内使用postMessage,而不能使用其他窗口或标签。这意味着不支持弹出窗口。

有关详细信息,请参阅:http://caniuse.com/#search=postMessage

作为一种解决方法,您可以尝试一些polyfills available for postMessage