如何在 Webextension 环境中使用和访问 thunderbird 中的首选项,而不是在旧版本中

How to use and access the preference in thunderbird , in Webextension environment ,not in the legacy

目前正在使用此方法作为旧方法。

this.prefService = Components
       .classes["@mozilla.org/preferences-service;1"]
       .getService(Components.interfaces.nsIPrefService);

 this.prefBranch = this.prefService.getBranch(root);

但我没有完全了解如何在 webextension 环境 thunderbird 中使用它。任何 api 以使用此功能?

我通过使用 Web 扩展实验解决了我的问题。

使用 Web 扩展实验规范实现了相同的遗留扩展功能,这解决了我此刻的需求。 下面提到的link。

https://thunderbird-webextensions.readthedocs.io/en/68/how-to/experiments.html

https://firefox-source-docs.mozilla.org/toolkit/components/extensions/webextensions/functions.html

我认为您可以使用 storage.local API(参见 documentation,它似乎对 Firefox 和 Thunderbird 一样有效)。这允许您存储与您的 add-on 相关的数据,例如:

let settingItem = browser.storage.local.set(
  keys             // object
)

然后检索或删除它(查看可用方法)。