Je suis en train de faire un trivial postMessage
exemple de travail...
- dans IE10
- entre les fenêtres/onglets (vs iframes)
- à travers les origines
Supprimer l'une de ces conditions, et les choses fonctionnent bien :-)
Mais aussi loin que je peux dire, entre fenêtre- postMessage
seulement semble fonctionner dans IE10 lorsque les deux fenêtres de partager une origine. (Eh bien, en fait -- et bizarrement -- le comportement est légèrement plus permissive que cela: deux origines différentes qui partagent un hôte semblent fonctionner, trop).
Est-ce un bogue documenté? Des solutions de contournement ou d'autres conseils?
(Remarque: Cette question, qui touche à des questions, mais sa réponse est sur IE8 et IE9-pas de 10)
Plus de détails + exemple...
page de lancement de la démo
<!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>
lancement de la page de démonstration
<!DOCTYPE html>
<html>
<script>
window.opener.postMessage("Ahoy!", "*");
</script>
</html>
Cela fonctionne à: http://jsbin.com/ahuzir/1 -- parce que les deux pages sont hébergées à la même origine (jsbin.com). Mais déplacer la deuxième page n'importe où ailleurs, et il échoue dans IE10.