PostMessage est une nouvelle API de communication inter-origine introduite en html5 qui vous permet de communiquer bidirectionnellement avec la page principale ainsi qu’avec toute page de classe de cadre ou une page ouverte par window.open. Son processus général de fonctionnement est le suivant :
La méthode postMessage(data,origin) accepte deux paramètres :
(1) données : Les données à transmettre, la spécification HTML5 mentionne que le paramètre peut être n’importe quel type de JavaScript de base ou un objet reproductible, mais tous les navigateurs ne l’ont pas fait, certains ne peuvent gérer que des paramètres de chaînes, il faut donc utiliser la méthode JSON.stringify() pour sérialiser les paramètres de l’objet lors du passage des paramètres, et nous référer à json2.js dans la version inférieure d’IE pour obtenir des effets similaires.
(2) origine : Paramètre de chaîne, indiquer la source de la fenêtre cible, protocole + hôte + numéro de port [+URL], l’URL sera ignorée, donc elle ne pourra pas être écrite, ce paramètre est pour des raisons de sécurité, la méthode postMessage() ne transmettra le message qu’à la fenêtre spécifiée, bien sûr, si vous le souhaitez, vous pouvez aussi définir le paramètre sur « * », afin qu’il puisse être transmis à n’importe quelle fenêtre, si vous souhaitez spécifier la même origine que la fenêtre actuelle, elle est réglée sur « / » ;
Envoyez et recevez des messages vous-même
Le code est le suivant :
La fenêtre parent envoie un message à la fenêtre enfant, et la fenêtre enfant reçoit le message
Le code est le suivant :
La fenêtre enfant envoie un message à la fenêtre parente, et la fenêtre parente reçoit le message
Le code est le suivant :
De plus, un mode simple écouteur/client est attaché au client pour la messagerie inter-domaine à l’adresse suivante :La connexion hyperlientérée est visible.
(Fin)
|