【发布时间】:2021-02-22 01:36:44
【问题描述】:
美好的一天,我正在开发一个 mozilla 雷鸟插件,并希望使用组件类。我知道当前版本的雷鸟现在是 78+,所以我应该使用 HTML 而不是 XUL,然后从那里使用 javascripts 以及 Web 扩展 API。我知道我需要使用nsIMsgAccountManager 来获取电子邮件,但我无法让它在 javascript 中工作。我总是收到错误 TypeError : Components.classes is undefined 有人可以帮我吗?我的 javascript 在下面。
function populateAccounts() {
var emails;
try {
var acctMgr = Components.classes["@mozilla.org/messenger/account-manager;1"].getService(Components.interfaces.nsIMsgAccountManager);
var accounts = acctMgr.accounts;
if (accounts.queryElementAt) {
// Gecko 17+
for (var i = 0; i < accounts.length; i++) {
var account = accounts.queryElementAt(i, Components.interfaces.nsIMsgAccount);
emails += account.key;
}
} else {
// Gecko < 17
for (var i = 0; i < accounts.Count(); i++) {
var account = accounts.QueryElementAt(i, Components.interfaces.nsIMsgAccount);
emails += account.key;
}
}
} catch (e) {
console.log(e);
emails = e;
}
return emails;
}
【问题讨论】:
标签: mozilla thunderbird thunderbird-addon thunderbird-webextensions