2011-09-05 230 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 –