saveURI不工作

时间:2013-09-25 17:34:38

标签: javascript firefox-addon mozilla

我正在尝试从用户通过firefox-addon本地访问的网页中保存favicon。我将favicon的URL存储为nsIURI并尝试使用saveURI方法,但它在persist.saveURI行上失败。以下是我目前的代码。

var path = "/home/testing.ico";             

var uri  = Cc['@mozilla.org/network/standardurl;1'].createInstance(Ci.nsIURI);

var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile); 

var persist = Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"]
.createInstance(Ci.nsIWebBrowserPersist);

uri.spec = tab.activeTab.url + "favicon.ico";

file.initWithPath(path);

persist.saveURI(uri, null, null, null, "", file, null);

1 个答案:

答案 0 :(得分:1)

根据文档,nsIWebBrowserPersist.saveURI需要7个参数,而你只传递6个(缺少最后一个)。

  

<强> saveURI()

     

将指定的URI保存到文件。

void saveURI(
  in nsIURI aURI,
  in nsISupports aCacheKey,
  in nsIURI aReferrer,
  in nsIInputStream aPostData,
  in string aExtraHeaders,
  in nsISupports aFile,
  in nsILoadContext aPrivacyContext
);

bug也与此问题有关