Tarayıcı Sekmeleri Arası İletişim: Broadcast Channel API

Broadcast Channel API, Web uygulamalarında farklı pencereler, sekmeler veya frame’ler arasında veri iletişimi sağlar. Modern tarayıcılar tarafından desteklenir.

Safa Gayret
1 min readOct 1, 2023
Görsel kaynağı: https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API

Broadcast Channel API Nedir?

Broadcast Channel API, aynı kök alan adına sahip farklı pencereler veya frame’ler arasında iletişim kurmayı sağlar. Bu, örneğin, bir kullanıcının bir sekmedeki bir eylemi diğer açık sekmedeki veya penceredeki bir içeriği etkileyebilir.

Neden kullanılır?

Gerçek dünya senaryo örneği

Bir e-ticaret platformunda birden fazla sekme kullanarak alışveriş yapan bir kullanıcıyı düşünelim. Sepete bir ürün eklediğinde, diğer sekmelerdeki sepetin otomatik olarak güncellenmesi istendiğinde Broadcast Channel API’a başvurulabilir. Kullanıcının aktif olan sekmesindeki sepet değiştiğinde diğer sekmelerdeki sepetin de güncellenmesi için sinyal gönderilebilir.

Nasıl kullanılır?

Önce, iletişim kuracak iki farklı pencere oluşturuyoruz

// Pencere 1
const channel = new BroadcastChannel('my_channel');

// Pencere 2
const channel = new BroadcastChannel('my_channel');

İlk pencerede bir kanal oluşturduk ve ona ‘my_channel’ adını verdik. Ardından, ikinci pencerede de aynı isimle bir kanal oluşturduk.

Şimdi, bir pencereden diğerine bir mesaj gönderelim

// Pencere 1
channel.postMessage('Merhaba dünya!');

Mesajı almak için diğer pencerede bir dinleyici ekleyelim

// Pencere 2
channel.onmessage = function(event) {
console.log(event.data); // "Merhaba dünya!" çıktısını alırız
};

Bu kodda, ‘onmessage’ olayı, kanaldan bir mesaj geldiğinde tetiklenir ve gelen mesaj ‘event’ parametresi üzerinden erişilebilir.

Bu yazı hazırlanırken yararlandığım kaynak

--

--