我想从日历代码中打开一个带有gloda对话的新标签。
我从错误控制台收到错误: 窗口未定义(或文档未定义),取决于我用于访问tabmail的两个中的哪一个:
let tabmail = window.document.getElementById("tabmail");
let tabmail = document.getElementById("tabmail");
如果js文件包含在overlay xul文件中,则代码可以正常工作。
但是我想在我的代码中使用xul之外的它。 在我的日历代码中的某处(在我的' addevent'中),相同的代码会引发错误。 此代码最初是通过右键单击电子邮件调用的,但是深入到日历代码中的几层。
在MDN中,我读到那个窗口是全局的?那么添加标签需要做什么? 如果正确引用了tabmail,则此部分有效:
tabmail.openTab("glodaList", {
collection: queryCollection,
message: aCollection.items[0],
title: tabTitle,
background: false
});
那么如何获得tabmail的参考资料呢?
感谢任何帮助。
答案 0 :(得分:1)
在发布之前尝试并查看代码真的有一段时间后,它只用了大约一段时间。提交问题后20分钟意外找到解决方案..
在mxr上浏览mailutils时,我找到了一些函数中的解决方案:
mail3PaneWindow = Services.wm.getMostRecentWindow("mail:3pane");
if (mail3PaneWindow) var tabmail = mail3PaneWindow.document.getElementById("tabmail");