2010-10-22 13 views
5

Bu yüzden FF4 ve Gecko 2 ile kullanım için eski uzantıları güncellemeye çalışıyorum, ancak bir sorunla karşılaştığım bazı sorunlar yaşıyorum, classID eksik veya bileşen için yanlış ....Firefox eklentisi geliştirme firefox4

Başka birinin benzer bir sorunu var mıydı yoksa bu konuda nasıl yardımcı olabileceğini biliyor mu? Bunun için prototip üzerinde generateNSGetFactory ararken

function jsshellClient() { 
    this.classDescription = "sdConnector JavaScript Shell Service"; 
    this.classID = Components.ID("{54f7f162-35d9-524d-9021-965a3ba86366}"); 
    this.contractID = "@activestate.com/SDService?type=jsshell;1" 
    this._xpcom_categories = [{category: "sd-service", entry: "jsshell"}]; 
    this.name = "jsshell"; 
    this.prefs = Components.classes["@mozilla.org/preferences-service;1"] 
     .getService(Components.interfaces.nsIPrefService) 
     .getBranch("sdconnector.jsshell."); 
    this.enabled = this.prefs.getBoolPref("enabled"); 
    this.port = this.prefs.getIntPref("port"); 
    this.loopbackOnly = this.prefs.getBoolPref("loopbackOnly"); 
    this.backlog = this.prefs.getIntPref("backlog"); 
} 
jsshellClient.prototype = new session(); 
jsshellClient.prototype.constructor = jsshellClient; 

o ClassID şikayetçi FF4 içinde Hata Konsolu bir hata verir. Eminim ki başka hiçbir şey aynı GUID'yi kullanmıyor, bu yüzden sorunu göremiyorum.

+1

Neden hata neden kod yazmıyorsunuz? –

cevap

2

Fx4'teki JS XPCOM bileşenlerinde önemli bir değişiklik, şu anda chrome.manifest'te kayıtlı olmaları gerektiğidir, bkz. Bu sayfa documentation on the changes. Eğer yaptığımız gibi XPCOMUtils kullandığı

+0

Bunu biliyorum. Ben chrome.manifest dosyasında kayıtlı bu sorun NSGetFactory oluşturmak çalıştığınızda sorun. –

+0

var NSGetFactory = XPCOMUtils.generateNSGetFactory ([jsshellclient]); bu fabrikayı oluşturmaya çalışır ve CID'nin yanlış olmasından şikayet eder. –

+0

ve chrome.manifest'te gerekli değişiklikleri yaptınız mı? ve bu değişikliklerin doğru yapıldığından emin misiniz? değilse, chrome.manifest'inizi gönderebilir misiniz? – erikvold