Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Add-on Manager

el Add-on Manager es responsable de manejar  todos los add-ons instalados en la aplicación. A traves de la informacion de la APIs acerca de todos los add-ons instalados puede ser recuperado y nuevos  add-ons pueden ser instalados. Las APIs son diseñadas para ser genericas y soportar diferentes tipos de add-ons.

Muchas funciones en la interfaz de  Add-on Manager operan de manera asincrona  retornando resultados a traves de devoluciones de llamadas que se pasan a las funciones . Estas devoluciones pueden ser llamadas inmediatamente, mientras la funcion inicial se esta ejecutando o apenas despues de su ejecución dependiendo de cuando la informacion requerida este disponible.

Accediendo add-ons Instalados

la informacion acerca de add-ons instalados puede ser recuperada a traves de main AddonManager API. Todas sus funciones son asincronas, significando que una funcion de devolucion de llamada debe ser pasada para recibir las instancias de Addon . La devolucion de llamada puede solamente ser llamada despues de la funcion de retorno de la API . Por ejemplo:

Components.utils.import("resource://gre/modules/AddonManager.jsm");

AddonManager.getAllAddons(function(aAddons) {
  // Here aAddons is an array of Addon objects
});
// This code will execute before the code inside the callback

Notificaciones acerca de cambios de add-ons instalados se envian a cualquier AddonListener registrado. Deben ser registrados a traves del metodo  AddonManager.addAddonListener() .

Instalando Nuevos add-ons

Nuevos add-ons pueden ser instalados usando los metodos AddonManager.getInstallForFile() o AddonManager.getInstallForURL() del objeto AddonManager. Estos pasaran una instancia de AddonInstall al invocador, el cual puede ser usado para instaladar add-ons:

Components.utils.import("resource://gre/modules/AddonManager.jsm");

AddonManager.getInstallForURL("https://www.foo.com/test.xpi", function(aInstall) {
  // aInstall is an instance of AddonInstall
  aInstall.install();
}, "application/x-xpinstall");

El progreso de  AddonInstall puede ser monitoreado usando InstallListener. Un escucha puede ser registrado por el uso especifico de un metodo  AddonInstall.addListener() o por todas las instalaciones usando el metodo AddonManager.addInstallListener().

Encontrando updates

Add-ons pueden ser chekeados por updates usando el metodo Addon.findUpdates(). Debe pasarse como parametro un  UpdateListener para recibir informacion acerca de la compatibilidad asi como tambien la informacion acerca la nueva actualizacion. Cualquier nueva actualizacion es retornada como un AddonInstall el cual esta listo para ser descargado e instalado.

(Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4)

Detectando cambios en los add-ons

Tambien puedes conseguir una lista de add-ons que al iniciar fueron modificados de varias maneras. El metodo  AddonManager.getStartupChanges()  permite encontrar que add-ons fueron instalados, eliminados, modificados, habilitados o deshabilitados al iniciar la aplicacion.

Por ejemplo, para saber los add-ons que fueron deshabilitados al iniciar la aplicacion se utilizaria:

Components.utils.import("resource://gre/modules/AddonManager.jsm");

let addonIDs = AddonManager.getStartupChanges(AddonManager.STARTUP_CHANGE_DISABLED);
if (addonIDs.length > 0) {
  // addonIDs is now an array of the add-on IDs that have been disabled
alert("Note: " + addonIDs.length + " add-ons have been disabled.");
} 

Vease

Etiquetas y colaboradores del documento

 Colaboradores en esta página: nachitorf
 Última actualización por: nachitorf,