2014-09-26 75 views
1

我在消息撰寫工具欄調色板中創建了一個工具欄按鈕。如何訪問正在撰寫的電子郵件正文?

<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頁面,當用戶進入到文本框中,可以處理文本加密和解密。

現在我正在嘗試的是,一旦用戶編寫電子郵件並點擊工具欄按鈕,文本框應該填充組成的電子郵件文本。任何想法如何做到這一點?

回答

1

當您對某個Thunderbird窗口中的某些操作感興趣時,瞭解如何在XUL DOM中實現它的方法是安裝add-onDOM Inspector並用它來調查DOM中的內容好像。您可能還需要,Element Inspector附加組件,它是DOM Inspector非常有用的附加組件(shift-right-click將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]; 

不幸的是,我沒有一個基本的雷鳥附加框架設置,所以我無法爲你測試這個,但第二個至少應該工作。

+0

好我明白你說的部分,但你可以expalin我如何實現它。你可以參考 http://stackoverflow.com/q/26406688/3656787 – Raveendra 2014-10-16 14:18:24

相關問題