2016-04-06 16 views
0

Url test.com ise, bir içerik komut dosyasından arka plan ile uzun ömürlü bir bağlantı açıyorum. Chrome.runtime.connect kullanıyorum. Ama test.com ile birden çok sekme açarsam, arka plan komut dosyasından çoklu onMessage çağrıları alıyorum.chrome extension Birden çok sekme ve chrome.runtime.connect

Sorun, içerik komut dosyalarının birden fazla sekmeyle paylaşılmamasıdır, ancak bağlantı noktaları nasıldır?

cevap

1

runtime.Port.disconnect numaralı telefonu aramadıysanız, önceki bağlantı korunur ve her test.com ile yeni bir sekme açtığınızda, içerik komut dosyası yüklenir ve başka bir uzun ömürlü bağlantı oluşturmaya başlar.

Eğer gönderen için tab gibi benzersiz bilgiler içerdiğinden runtime.onConnect.addListener(function(port){});, üzerinde port.MessageSender erişebilir, yeni bir sekme oluşturulduğunda geçerli bağlantı kesmek için runtime.Port.disconnect diyebiliriz veya Port farklı bağlantıları ayırt edilebilir.

+0

Ah, bu yüzden içerik betiği işi değil, bağlantı noktası. Yani, 2 sekme açık ve 2 bağlantı noktası bağlantım varsa, arka plandan her bağlantı noktasına bir istek iki kez olacaktır. Yani her sekme 2 istek alacak, doğru mu? – pvnarula

+1

@pvnarula, tam olarak, bağlantı sonlandırılmadığı sürece. –

+0

Çok teşekkürler @haibara. Sorun çözüldü. :) – pvnarula