2012-09-10 32 views
0

我想使用使用附加SDK创建的Firefox加载项将HTML文档保存在当前选项卡中。如何从Firefox加载项(SDK)保存当前文档?

我想是这样的:

exports.main = function() { 

    require("widget").Widget({ 
      id: "foo", 
      label: "My Test", 
      contentURL: "http://www.mozilla.org/favicon.ico", 
      onClick: function(event) { 

       var {Cc, Ci} = require("chrome"); 
       var persist = Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Ci.nsIWebBrowserPersist); 
       var localPath = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); 
       localPath.initWithPath("/tmp/"); 
       var localFile = localPath.clone(); 
       localFile.append("mylocalfile.html"); 
       var tabs = require("tabs"); 
       persist.saveDocument(tabs.activeTab, localFile, localPath, null, 0, 0); 
      } 
    }); 
}; 

但是,当我点击插件的代码上面崩溃的Firefox(15.0)。

我猜tabs.activeTab可能不是一个nsIDOMDocument?这是问题吗?

我应该怎么做才能使它工作?

回答

相关问题