Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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.

js
addEventListener("message", (event) => { })

onmessage = (event) => { }

Type d'évènement

Un objet MessageEvent. Hérite de Event.

Event MessageEvent

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 :

js
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 :

js
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 :

js
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