2011-09-05 154 views

回答

1

在Firefox 4+,你可以得到你的扩展的目录是这样的:

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); 
} 

要从扩展下载文件,创建一个XMLHttpRequest使用:

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

你可以重新使用nsIZipReader XPCOM接口添加ZIP文件(请参阅http://mxr.mozilla.org/mozilla-central/source/modules/libjar/nsIZipReader.idl)。实例化这样的组件:

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

谢谢,并通过什么电话下载到该目录的ZIP?或任何目录,它会持续清理浏览器缓存? –

+0

您是否问如何从服务器下载ZIP文件或如何解压缩? –

+0

如何通过扩展下载它,通过解压缩调用完成解压缩http://doxygen.db48x.net/mozilla/html/interfacensIZipReader.html#a1cd08bee10ca99cdff3187d8b842012f –