我想使用使用插件 SDK 创建的 Firefox 插件将 HTML 文档保存在当前选项卡中。
我正在尝试这样:
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?那是问题吗?
我该怎么做才能让它工作?