试图访问雷鸟-tabmail不工作



我想在日历代码中打开一个带有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的引用呢?

在发布之前尝试和查看代码确实有一段时间后,在提交问题后意外找到解决方案只需要大约20分钟。

当我在mxr上浏览邮件时,我在一些函数中找到了解决方案:

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

最新更新