2012-09-10 61 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?這是問題嗎?

我應該怎麼做才能使它工作?

回答

相關問題