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.

Gerenciador de Complementos

O Gerenciador de Add-on (Add-on Manager) é responsável por gerenciar todos os add-ons instalados no aplicativo. Através de suas APIs, informação sobre todos os add-ons instalados pode ser recuperada e novos add-ons podem ser instalados. As APIs foram projetadas para serem genéricas e suportar muitos tipos diferentes de add-ons.

Muitas funções na interface do Gerenciador de Add-on operam de modo assíncrono, retornando os resultados através de callbacks (funções de retrochamadas) passadas para as funções. As callbacks podem ser chamadas imediatamente enquanto as funções iniciais ainda estão em execução ou pouco tempo após, dependendo de quando os dados da requisição se tornem disponíveis.

Acessando os add-ons instalados

Informação sobre os add-ons instalados podem ser recuperadas através da  API principal AddonManager. Todas as suas funções são assíncronas, isso significa que uma função de callback deve ser passada para receber as instâncias de Addon. A função de callback pode muito bem ser chamada somente após a função da API retornar. Por exemplo:

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

AddonManager.getAllAddons(function(aAddons) {
  // Aqui aAddons é um array de objetos Addon 
});
// Esse código será executado antes do código dentro da callback

Notificações sobre mudanças nos add-ons instalados são dispachadas para quaisquer AddonListeners. registrado Eles devem ser registrados através do método AddonManager.addAddonListener().

Instalando novos add-ons

Novos add-ons podem ser instalados usando os métodos AddonManager.getInstallForFile() ou AddonManager.getInstallForURL() do objeto AddonManager. Essas passsarão uma instância de AddonInstall para a função de callback, que pode, então, ser usada para instalar o add-on:

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

AddonManager.getInstallForURL("https://www.foo.com/test.xpi", function(aInstall) {
  // aInstall é uma instância de AddonInstall
  aInstall.install();
}, "application/x-xpinstall");

O progresso de AddonInstall pode ser monitorado usando um InstallListener. Um listener pode ser registgrado quer para uma instalação em particular usando o método AddonInstall.addListener() ou para todas as instalações usando o método AddonManager.addInstallListener().

Encontrando atualizações

Pode-se verificar a existência de atualizações para Add-ons usando o método Addon.findUpdates(). Deve-se lhe passar um UpdateListener para receber informações sobre compatibilidade e informação de nova atualização. Qualquer atualização disponível é retornada  como um AddonInstall, pronto para ser baixado e instalado.

Detectando mudanças nos add-ons

(Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4)

Você também pode conseguir listas de add-ons que, na inicialização, foram modificados de diversos modos. O método  AddonManager.getStartupChanges() lhe permite descobir quais add-ons foram instalados, removidos, atualizados, habilitados ou desabilitados durante a inicialização do aplicativo.

Por exemplo, para dar uma olhada nos add-ons que foram desabilitados durante a inicialização:

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

let addonIDs = AddonManager.getStartupChanges(AddonManager.STARTUP_CHANGE_DISABLED);
if (addonIDs.length > 0) {
  // addonIDs agora é um array das IDs dos  add-on que foram desabilitados
alert("Nota: " + addonIDs.length + " add-ons foram desabilitados.");
} 

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: fabianosantos.net, janlima
 Última atualização por: fabianosantos.net,