2011-09-05 5 views
2

Comment puis-je télécharger et décompresser le fichier ZIP dans le dossier de l'extension?
Besoin de mettre à jour mes ressources/config à partir du paquet ZIP stocké en ligne.Extension Firefox: télécharger et décompresser ZIP

Est-ce possible?

S'il vous plaît me diriger vers des documents ou des exemples

Merci

Répondre

1

Dans Firefox 4+, vous pouvez obtenir le répertoire de votre poste comme celui-ci:

Components.utils.import("resource://gre/modules/AddonManager.jsm"); 
Components.utils.import("resource://gre/modules/Services.jsm"); 
AddonManager.getAddonByID(extensionID, function(addon) { 
    var extensionDir = 
    Services.io.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler). 
     getFileFromURLSpec(addon.getResourceURI(null).spec); 
} 

Pour télécharger le fichier d'une extension , créez une requête XMLHttpRequest en utilisant:

var xhr = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci.nsIXMLHttpReques‌​t); 

Vous pouvez re Ad le fichier ZIP à l'aide de l'interface XPCOM nsIZipReader (voir http://mxr.mozilla.org/mozilla-central/source/modules/libjar/nsIZipReader.idl). Instancier le composant comme ceci:

var zipReader = Cc["@mozilla.org/libjar/zip-reader;1"].createInstance(Ci.nsIZipReader); 
+0

merci, et télécharger le fichier ZIP dans ce répertoire via quel appel, s'il vous plaît? ou à un répertoire où il persistera à nettoyer le cache du navigateur? –

+0

Demandez-vous comment télécharger le fichier ZIP depuis votre serveur ou comment le décompresser? –

+0

comment le télécharger via l'extension, unzip est fait via extrait appel http://doxygen.db48x.net/mozilla/html/interfacensIZipReader.html#a1cd08bee10ca99cdff3187d8b842012f –

Questions connexes