Broadcast Channel

JavaScript 🟡 Mid

Definition

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

Analogie

Une radio interne d'entreprise : tous les bureaux (onglets) branchees sur la meme frequence recoivent 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