2011-10-07 18 views
5

Bir dosya indirme işlemi başlatılırken Firefox'ta açılan indirme iletişim kutusuna bir seçenek ekleyebilmeyi isterim. Yeni eklenti SDK'yı kullanarak bunu yapmak mümkün mü yoksa eski yolu yapmak zorunda mıyım?Eklenti kitinden Firefox yükleme iletişiminin içeriğini değiştirin

düzenleme: Açıkçası, yeni seçenek seçildiyse, onu tanımak ve ona dayalı kod yürütmek için bir yönteme ihtiyacım var.

cevap

1

Bu, XUL overlays için kullanacağınız bir şeydir. Konuştuğunuz iletişim kutusunun indirme yöneticisi chrome://mozapps/content/downloads/downloads.xul olduğunu sanırım. Eklenti SDK'sı ile AFAIK bunu yapamaz, sadece en yaygın UI entegrasyon noktalarını sağlar. Bununla birlikte, geleneksel bir uzantı oluşturabilirsiniz, herhangi bir iletişim kutusunu kaplayabilir.

+1

Hayır, indirme yöneticisi kastetmiyorum kaynak kodu için bekleyin - Ben "Birlikte aç ..."/"Kaydet ..." sorusunu soran, ama sanırım hiçbir fark yaratmıyor. İletişimin her gösterilişinde bir olayı dinlemek ve içeriği enjekte etmek mümkün olmaz mıydı? – CAFxX

+2

@CAFxX: Tamam, o zaman chrome: // mozapps/content/downloads/unknownContentType.xul' olacaktır. İçeriğin manuel olarak enjekte edilmesi zaman kaybı olacaktır, kaplamalar krom manifestinde belirtildiyse otomatik olarak uygulanır. –

+0

Evet, ancak içerik enjeksiyonu eklenti sdk kullanırken de işe yarayabilir, değil mi? – CAFxX

1

Bildiğim konusunda size yardımcı olacak bir modül yok, bu nedenle bir tane oluşturmanız veya birinin başkası tarafından yapılmasını beklemeniz gerekiyor. Ancak, tarayıcı arayüzünü genişletmenin ana fikri basittir ve şu şekilde gider:

  1. Eklenti yüklendiğinde, uzatmak istediğiniz türden açık pencereleri tarayın.
  2. , açık pencereleri sayfaya xul öğeleri ve javascript ekleyerek genişletir.
  3. onlar onlar
  4. sizin eklenti etkinken yeni açılan pencereleri uzatmak
  5. Temiz yukarı başının çaresine pencereleri kapatın ve ne zaman eklenti açtıktan sonra aradığınız tip olduğu yeni açılan pencereler için dinlemek ve test devre dışı/kaldırıldı.

Son adım, en önemli ve yeniden başlatılmayan eski okul uzantıları ile hiç bir zaman önemli değildir.

Bunu yapabileceğiniz yerleşik modüller için bunlardan bazıları, widget modülü, içerik menüsü modülü ve kısayol tuşları modülü, all of which you can find here.

Araç çubuğu düğme modülü, xulkeys modülü, menuitems modülü ve birkaç tane daha, all of which you can find here olan bir çift kendim yaptım.