最佳答案
我试图使一个微不足道的 postMessage
例子工作..。
去掉以下任何一个条件,事情就会顺利进行: -)
但据我所知,只有当两个窗口共享一个原点时,窗口间 postMessage
才能在 IE10中工作。(实际上——奇怪的是——这种行为比那个稍微宽容一些: 共享 主持人的两个不同的起源似乎也起作用了)。
(注意: 这个问题涉及到这些问题,但是 它的答案是关于 IE8和 IE9的——而不是10)
更多细节 + 例子..。
<!DOCTYPE html>
<html>
<script>
window.addEventListener("message", function(e){
console.log("Received message: ", e);
}, false);
</script>
<button onclick="window.open('http://jsbin.com/ameguj/1');">
Open new window
</button>
</html>
<!DOCTYPE html>
<html>
<script>
window.opener.postMessage("Ahoy!", "*");
</script>
</html>
这适用于: http://jsbin.com/ahuzir/1——因为两个页面都驻留在同一个源(jsbin.com)。但是如果将第二页移动到其他任何地方,它在 IE10中就会失败。