【问题标题】:Addind and removing UI elements in restartless TB addon在无重启 TB 插件中添加和删除 UI 元素
【发布时间】:2015-07-24 16:50:31
【问题描述】:

我为 Thunderbird 开发了一个无需重启的插件。激活插件后,我需要在撰写窗口中添加一些 UI 元素。

到目前为止我所做的是:

  • 在启动时,通过nsIWindowWatcher在windows上添加观察者

  • 在关机时,移除窗口观察者,并将变量 X 设置为 true

  • 当该观察者观察到 domwindowopened 事件时,为“compose-window-init”事件的打开窗口添加一个事件监听器(当它观察到 domwindowclose 时,它​​会移除该事件监听器)

  • 当这个 compose-window-init 事件被触发时,检查窗口的 document.location,如果它对应于一个消息编写器:
    • 添加 UI 元素,
    • 如果 X 设置为 true,则删除 UI 元素并删除 eventListener

这很好用(当插件被激活时,UI 被添加到撰写消息中,并且在停用时被移除)除了以下内容:当插件被停用然后再次激活时,第一条撰写消息不提供 UI 元素。 UI 被添加到另一个,但不是第一个。

知道为什么以及如何解决这个问题吗?

谢谢

【问题讨论】:

    标签: thunderbird-addon


    【解决方案1】:

    我发现了问题所在。

    请参阅我的帖子: http://forums.mozillazine.org/viewtopic.php?f=19&t=2949755&p=14254205#p14254205

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-27
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多