Window : évènement message
Baseline
Widely available
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.
Propriétés de l'évènement
Cette interface hérite également des propriétés de son parent, Event.
MessageEvent.dataLecture seule-
Les données envoyées par l'émetteur du message.
MessageEvent.originLecture seule-
Une chaîne de caractères représentant l'origine de l'émetteur du message.
MessageEvent.lastEventIdLecture seule-
Une chaîne de caractères représentant un identifiant unique pour l'évènement.
MessageEvent.sourceLecture seule-
Un objet
MessageEventSource(qui peut être un WindowProxy,MessagePort, ouServiceWorker) représentant l'émetteur du message. MessageEvent.portsLecture seule-
Un tableau d'objets
MessagePortreprésentant les ports associés au canal par lequel le message est envoyé (le cas échéant, par exemple, dans la messagerie de canal ou lors de l'envoi d'un message à un worker partagé).
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
| Specification |
|---|
| HTML> # event-message> |
| HTML> # handler-window-onmessage> |
Compatibilité des navigateurs
Voir aussi
- Évènement associé :
messageerror - La propriété
Window.postMessage()