1

我想打開一個新的選項卡,並在日曆代碼中使用gloda對話。試圖訪問Thunderbird-tabmail不起作用

我收到一個錯誤,從錯誤控制檯:沒有定義 窗口(或沒有定義文件),這取決於兩個我用它來訪問的tabmail:

 let tabmail = window.document.getElementById("tabmail"); 
     let tabmail = document.getElementById("tabmail"); 

的代碼工作正常,如果JS文件包含在一個覆蓋xul文件中。

但我想在我的代碼之外的xul中使用它。 我的日曆代碼中的某處(在我的'addevent'中),相同的代碼會引發錯誤。 此代碼最初是通過電子郵件上的右鍵來調用的,但在日曆代碼中有幾層。

在MDN中,我讀到該窗口是全局的?那麼,我需要做什麼來添加標籤? 這部分工作,如果tabmail被正確引用:

 tabmail.openTab("glodaList", { 
     collection: queryCollection, 
     message: aCollection.items[0], 
     title: tabTitle, 
     background: false 
    }); 

那麼,如何獲得tabmail參考?

任何幫助表示讚賞。

回答

1

在嘗試並查看代碼之前真的有一段時間發佈後,它只花了約。 20分鐘,意外地找到解決方案提交問題後..

雖然在MXR瀏覽mailutils別的東西,我發現了一些功能的解決方案:

mail3PaneWindow = Services.wm.getMostRecentWindow("mail:3pane"); 
    if (mail3PaneWindow) var tabmail = mail3PaneWindow.document.getElementById("tabmail");