4

我的引导 Thunderbird 附加组件 main.js 文件中有以下代码:

exports.main = function() {
    console.log("abc");
};

当我在 Add-on Builder 中的 FireFox 中运行此代码时,我会在 FireFox 错误控制台中显示此消息:

info: vladp: abc

但是,当我在 Thunderbird 中运行我的扩展时,什么都没有显示。我已经按照此处所述设置了开发环境:https ://developer.mozilla.org/en-US/docs/Setting_up_extension_development_environment

如何让它在 Thunderbird 错误控制台中工作?或者除了“dump()”之外,还有其他方法可以记录一些调试信息吗?

更新 1

正如 speedball2001 所建议的,我已将代码更改为:

exports.main = function() { 
    var Application = Components.classes["@mozilla.org/steel/application;1"].getService(Components.interfaces.steelIApplication);
    Application.console.log('Bam!');
};

但是,当我运行 Thunderbird 时,我在错误控制台中收到以下错误:

Timestamp: 2013.05.22. 16:39:07
Error: myfirstext: An exception occurred.
ReferenceError: Components is not defined
resource://jid0-7yp22cmsooypei7nicamg3n0ha0-at-jetpack/myfirstext/lib/main.js 57

我如何解决它?

4

1 回答 1

4

Thunderbird 提供了一个应用程序接口,除其他外,它有助于记录:

var {Cc, Ci} = require("chrome");
var Application = Cc["@mozilla.org/steel/application;1"]
                    .getService(Ci.steelIApplication);

Application.console.log('Bam!');
于 2013-05-22T12:04:50.180 回答