Broadcast Channel

JavaScript 🟡 Mid

Définition

API de communication entre contextes de même origine (onglets, iframes, workers). Plus simple que SharedWorker pour du broadcast de messages.

Analogie

Une radio interne d'entreprise : tous les bureaux (onglets) branchées sur la même fréquence reçoivent le message.

Exemple de code

// Onglet 1
const bc = new BroadcastChannel('auth');
bc.postMessage({ type: 'logout' });
// Onglet 2
const bc2 = new BroadcastChannel('auth');
bc2.onmessage = (e) => {
  if (e.data.type === 'logout') redirectToLogin();
};

Cas d'usage

Synchroniser le logout entre onglets, mettre a jour le theme, notifier les onglets d'un changement.

#core#navigateur#communication

← → au clavier pour passer d'une fiche à l'autre