Estoy tratando de hacer que un postMessage
ejemplo trivial funcione ...
- en IE10
- entre ventanas / pestañas (frente a iframes)
- a través de orígenes
Elimine cualquiera de estas condiciones y todo funcionará bien :-)
Pero por lo que puedo decir, entre ventanas postMessage
solo parece funcionar en IE10 cuando ambas ventanas comparten un origen. (Bueno, de hecho, y extrañamente, el comportamiento es un poco más permisivo que eso: dos orígenes diferentes que comparten un host también parecen funcionar).
¿Es este un error documentado? ¿Alguna solución u otro consejo?
(Nota: esta pregunta toca los problemas, pero su respuesta es sobre IE8 e IE9, no sobre 10)
Más detalles + ejemplo ...
demostración de la página del lanzador
<!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>
demostración de la página lanzada
<!DOCTYPE html>
<html>
<script>
window.opener.postMessage("Ahoy!", "*");
</script>
</html>
Esto funciona en: http://jsbin.com/ahuzir/1 , porque ambas páginas están alojadas en el mismo origen (jsbin.com). Pero mueva la segunda página a cualquier otro lugar, y fallará en IE10.