Firefox扩展:下载并解压缩ZIP

时间:2011-09-05 14:30:21

标签: firefox firefox-addon

如何将ZIP文件下载并解压缩到扩展文件夹? 需要从在线存储的ZIP包更新我的资源/配置。

这可能吗?

请指出我的文档或示例

由于

1 个答案:

答案 0 :(得分: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);