Window : évènement message
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis août 2017.
L'évènement message est déclenché sur un objet Window lorsque la fenêtre reçoit un message, par exemple à partir d'un appel à Window.postMessage() depuis un autre contexte de navigation.
Cet évènement n'est pas annulable et ne se propage pas.
Syntaxe
Utilisez le nom de l'évènement dans des méthodes comme addEventListener(), ou définissez une propriété de gestionnaire d'évènements.
addEventListener("message", (event) => { })
onmessage = (event) => { }
Type d'évènement
Un objet MessageEvent. Hérite de Event.
Exemples
Supposons qu'un script envoie un message à un contexte de navigation différent, tel qu'un autre <iframe>, en utilisant un code comme celui-ci :
const targetFrame = window.top.frames[1];
const targetOrigin = "https://exemple.org";
const windowMessageButton = document.querySelector("#window-message");
windowMessageButton.addEventListener("click", () => {
targetFrame.postMessage("bonjour", targetOrigin);
});
Le récepteur peut écouter le message en utilisant addEventListener() avec un code comme celui-ci :
window.addEventListener("message", (event) => {
console.log(`Message reçu : ${event.data}`);
});
Alternativement l'écouteur peut utiliser la propriété du gestionnaire d'évènements onmessage :
window.onmessage = (event) => {
console.log(`Message reçu : ${event.data}`);
};
Spécifications
| Spécification |
|---|
| HTML> # event-message> |
| HTML> # handler-window-onmessage> |
Compatibilité des navigateurs
Voir aussi
- Évènement associé :
messageerror - La propriété
Window.postMessage()