我正在开发一个 Thunderbird 附加组件,我想在帐户管理器中为每个邮件帐户添加一个节点(当用户单击工具-> 帐户设置时打开)。此节点应显示一个包含帐户附加设置的面板。
我已经看到这个对话框中的树不是使用 XUL 而是使用 JavaScript。所以我对 JavaScript 文件做了一些更改,但如果明天有新版本出现,那么我的插件就会出现问题。所以我需要将节点添加为 XUL 覆盖,但这似乎不可能。
我正在开发一个 Thunderbird 附加组件,我想在帐户管理器中为每个邮件帐户添加一个节点(当用户单击工具-> 帐户设置时打开)。此节点应显示一个包含帐户附加设置的面板。
我已经看到这个对话框中的树不是使用 XUL 而是使用 JavaScript。所以我对 JavaScript 文件做了一些更改,但如果明天有新版本出现,那么我的插件就会出现问题。所以我需要将节点添加为 XUL 覆盖,但这似乎不可能。
您不能使用 XUL 覆盖来覆盖动态构建的内容。但幸运的是,客户经理是明确可扩展的。甚至有一些文档涵盖了您的确切情况。简而言之,您需要创建一个XPCOM组件并在mailnews-accountmanager-extensions
类别中注册它。然后,客户经理将为showPanel()
每个帐户加载您的组件和调用方法,以确定您是否希望为该帐户显示您的面板。您需要适当地设置chromePackageName
和name
属性,面板将从 chrome:// chromePackageName /content/am-name.xul 加载,面板名称从 chrome:// chromePackageName / locale/ am- name。特性。请注意,从 Thunderbird 4 开始 XPCOM 组件需要在chrome.manifest
.