0

İçerik Komut Dosyası ve Popup Komut Dosyası ile bir krom uzantım var. Açılır pencerede, İçerik Komut Dosyası'nda belirli değişkenleri chrome messaging kullanarak konuşarak değiştiren bir ayar sayfam var. İçerik komut dosyası, tüm YouTube sitelerinde çalışır. YouTube/içerik komut dosyasının birden çok örneği varsa, açılır pencerede yalnızca görüntülenen sayfada bulunan ayar/değer değişir. Tüm sayfalarda içerik komut dosyasının tüm örnekleriyle konuşmanın bir yolu var mı? Şu anda bir geçici çözüm olarak localstorage kullanıyorum, kullanıcı sayfada bir değer/ayar ayarlarsa, sayfa yenilendiğinde veya yeni bir örnek olduğunda, diğerine ayarlayacaktır.Tüm İçerik Komut Dosyası örnekleri için konuşun

cevap

1

tabs.query numaralı telefonu kullanarak belirli özelliklere sahip tüm sekmeleri alabilir ve daha sonra bunlara mesaj gönderebilirsiniz.

chrome.tabs.query({currentWindow: true}, function (tabs) { 
    for (var i = 0; i < tabs.length; i++) { 
     if (chrome.runtime.lastError) { 
     // handle errors like access issues 
     } else { 
     // Do message passing here 
     } 
    } 
}); 
+0

Öneriler: Reddedilen erişim hatalarını susturmak için bu geri bildirimde chrome.runtime.lastError' işlevini de değerlendirin. – Xan

+0

@ Xan, bu yüzden erişim hataları ne zaman ortaya çıkacak? Yazar manifestolarda site URL'sini içermediğinde mi? –

+0

Veya erişim sağlayamayacağınız bir sekme. Ya da bir çerçeve. – Xan

1

Eğer chrome.storage API kullanarak ayarları tutarsanız, içerik komut edebilirsiniz: Doğrudan Mesajlaşma

  • olmadan

    1. Erişim bunu chrome.storage.onChanged içine çengel değişiklikleri Algılama ve buna göre tepki verir.

    Bu muhtemelen "en az dağınık" çözümdür.

  • İlgili konular