Bir uzantıyı Chrome'dan Firefox'a taşıyorum ve Eklenti SDK'sını kullanıyorum. Bir panelden veya açılır pencereden arka plan dosyasında bildirilen işlevlere erişmek için Chrome'da chrome.extension.getBackgroundPage
'u kullanabilirim. Firefox'ta main.js
veya başka bir dosyada bildirilen veri/işlevlere erişebilmem için bir miktar eşdeğer var mı?Bir Firefox eklentisindeki dosyalar arasında veri paylaşımı
10
A
cevap
1
Görünüşe göre Jetpack bunu desteklemiyor (vanilla Firefox eklentileriyle mümkün olsa da).
Ama size yardımcı olacak bir bölüm var, sadece bu çok düz bir şekilde değil, çünkü olayları between add-on and the content scripts aracılığıyla mesajlaşmayı içerir.
Düzenleme:
en MDN about extensions bir örneği ele alalım. XUL + JavaScript'i HTML + JavaScript olarak düşünebilirsiniz. Jetpack'in ana içerik kodunuzu sizden ayırması (sandboxes) aksine, içerik kodu (html, javascript, css panelleri, widget'lar vb.); Tek bir "kullanıcı alanı" içinde çalışır.<?xml version="1.0"?>
<overlay id="sample"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="text/javascript">
function getOS() {
return Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS;
}
</script>
<statusbar id="status-bar">
<statusbarpanel id="my-panel" label="OS?" onclick="alert(getOS())" />
</statusbar>
</overlay>
Ve eğer Diyelim ki gibi dahil fonksiyonu harici bir dosyada olduğunu varsayalım:
öncesinde bağlantılı sayfasında yer paylaşımını adapte ve XPCOM ile çalışan bir JavaScript kod ekleyerek elde edersiniz normal JavaScript.
İlgili konular
- 1. Kovan - dosyalar arasında veri bölme
- 2. Intellij içindeki projeler arasında veri tabanları paylaşımı
- 3. Paylaşımı veri
- 4. html düğmesinden Firefox eklentisindeki bir işlevi nasıl çağırılır
- 5. İki webapps arasında Ehcache paylaşımı
- 6. iCloud Çekirdek Veri paylaşımı OSX ve iOS arasında
- 7. Maven modülleri arasında statik kaynakların paylaşımı
- 8. Modüller arasında iyi uygulama paylaşımı kaynakları?
- 9. İki django projesi arasında veritabanı tablosu paylaşımı
- 10. Bir klasördeki dosyalar arasında geçiş yapma Node.JS
- 11. tfs 2010'daki projeler arasında kod paylaşımı
- 12. Dosyalar arasında python'daki global değişkenler
- 13. Bir BackgroundWorker ile ana iş parçacığı arasında nesne paylaşımı
- 14. Gunicorn'da Bellek Paylaşımı?
- 15. Memcache paylaşımı
- 16. DataTrigger vs dönüştürücü performansıyla veri paylaşımı
- 17. Dropbox Datastore - Kullanıcı hesaplarında veri paylaşımı
- 18. ASP.Net Önbellek paylaşımı
- 19. ASP.NET MVC projesi ve Cordova projesi arasında kod paylaşımı
- 20. SQL Server ve Kitaplık projeleri arasında konumsal kod paylaşımı
- 21. Özel özelliği aç VSTO eklentisindeki ayrıntıları göster
- 22. Julia: değiş tokuş eden kavramlar arasında veri
- 23. paylaşımı Grafik
- 24. çok adımlı form ve açısal-ui yönlendirici ile veri paylaşımı
- 25. Greasemonkey Scripts Arasında Veri Paylaşma
- 26. Alt öğeler arasında veri aktarımı
- 27. SQL Server Kırma işlemi (ustalar gibi ortak veri paylaşımı)
- 28. Rails eklentisindeki görünümleri nasıl test edebilirim?
- 29. Nakavt eşleme eklentisindeki garip bellek sızıntısı
- 30. Dosyalar arasında geçiş yapma ve bunları Python'da yeniden adlandırma
Merhaba, hangi vanilla firefox özelliği bu işlevi mümkün kılar. Uzantının yapısında belirli bir işlev mi yoksa bir fark mıdır? Teşekkürler. – usertest
Jetpack olmadan eklentileri oluştururken, eklentiniz için arka plan ön planı yoktur. Herhangi bir Javascript koduna panelinizden, düğmenizden, araç çubuğundan, pencereden vb. Erişebilirsiniz. Ve herhangi bir şey dediğimde, Firebug gibi diğer eklentilerin kodlarını bile kastediyorum ... – mhitza
Jetpack versiyonunu kullanmıyorum. Jetpack olmadan mümkün olduğunu söylemiştin, nasılsın? Teşekkürler. – usertest