Lorsque vous travaillez avec plusieurs onglets ou fenêtres dans un navigateur, il est souvent nécessaire que ces entités communiquent entre elles . Cette tâche peut être accomplie par diverses méthodes, chacune avec ses propres avantages et limites.
Approches traditionnelles
Traditionnellement, les développeurs se sont appuyés sur des techniques telles que :
Solution moderne : chaîne de diffusion
Ces dernières années , une API dédiée a vu le jour à cet effet : Broadcast Channel (BC). BC offre un moyen simple et pratique d'établir une communication :
var bc = new BroadcastChannel('test_channel'); bc.postMessage('This is a test message.'); // Send bc.onmessage = function (ev) { console.log(ev); }; // Receive
BC prend en charge les données structurées à l'aide de l'algorithme de clonage structuré, permettant aux développeurs d'envoyer des objets complexes sans avoir besoin d'une sérialisation manuelle.
Avantages clés
Navigateurs pris en charge
BC est largement pris en charge par les principaux navigateurs, notamment Chrome, Firefox, Edge et Safari. Cependant, un polyfill existe pour les navigateurs qui ne prennent pas nativement en charge BC, permettant son utilisation sur toutes les principales plateformes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!