我在消息Compose Toolbar Palette中创建了一个工具栏按钮。
<toolbarpalette id="MsgComposeToolbarPalette">
<toolbarbutton id="myextension-button1" class="toolbarbutton-1"
label="Cryption_compose" tooltiptext="Encrypts or decrypts your email"
oncommand="Cryption.open_options();" />
</toolbarpalette>
OnClick打开options.xul,我创建了一个XUL页面,当用户在文本框中输入文本时,该页面可以处理文本加密和解密。
现在我正在尝试的是,一旦用户编写电子邮件并点击工具栏按钮,文本框就会填充组合的电子邮件文本。知道怎么做吗?
答案 0 :(得分:1)
如果您对某个Thunderbird窗口中的某些内容感兴趣,那么弄清楚如何在XUL DOM中实现它的方法是安装add-on DOM Inspector并将其用于调查DOM的内容是什么样的。您可能还需要Element Inspector附加组件,它是DOM Inspector的一个非常有用的附加功能(右键单击右键可以打开DOM Inspector到单击的元素)。您可能还会发现Stacked Inspector有帮助。
在这种情况下,使用DOM Inspector快速查看显示编辑窗口是作为HTML文档实现的。 document
位于元素<editor id="content-frame">
下。您将需要访问和更改<BODY>
的内容。您应该能够通过以下方式获取元素:
let messageBody = document.getElementById("content-frame").contentDocument.body;
如果这不起作用,那么:
let editor = document.getElementById("content-frame");
let editorDocument = editor.contentDocument;
let messageBody = editorDocument.getElementsByTagName("body")[0];
不幸的是,我没有设置基本的Thunderbird附加框架,所以我无法为你测试这个,但第二个至少应该可以工作。
答案 1 :(得分:1)
要访问撰写编辑器,您需要在“content-frame”元素上调用getEditor()方法: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/editor