1

我想从日历代码中打开一个带有 gloda 对话的新选项卡。

我从错误控制台收到错误:未定义窗口(或未定义文档),具体取决于我用于访问 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 的参考资料呢?

任何帮助表示赞赏。

4

1 回答 1

1

在发布之前尝试并查看代码一段时间后,只花了大约 ca。提交问题后20分钟意外找到解决方案..

在 mxr 上浏览 mailutils 以获取其他内容时,我在某些功能中找到了解决方案:

    mail3PaneWindow = Services.wm.getMostRecentWindow("mail:3pane");
    if (mail3PaneWindow)  var tabmail = mail3PaneWindow.document.getElementById("tabmail");
于 2015-10-06T15:57:02.580 回答