雷鸟扩展。将字段添加到 messagePane。如何处理windows实例?

发布于 2024-10-19 02:29:28 字数 366 浏览 1 评论 0原文

我正在开发 TB 扩展。我已将字段添加到 messagePane 的“发件人、主题、收件人”字段下方。 所以我需要正确更新字段值。我从 msgHdr 获取值。我当前的方法是监听 messagePane 文档的“load”事件。当 TB 中只打开一条消息时,它工作正常。 但是,如果有多个打开的消息,则每个消息窗口都会获得相同的字段值,因为每个窗口都会触发最后加载消息的“load”事件。这是错误。 当我收到加载事件时,如何确定窗口中打开的消息的msgHdr?它存储在某个地方吗? Windows 是否有任何身份信息,例如句柄、uri 或其他信息?为什么 DOM 检查器只显示我的字段的一个 DOM 节点,而它存在于每个消息窗格中?抱歉问了一大堆问题,我只是无法理解 TB 窗户的整个混乱状况。

谢谢。

I'm developing TB extension. I've added field to messagePane just below "from, subject, to" fields.
So I need to update the field value correctly. I'm getting the value from msgHdr. My current approach is to listen "load" event of the messagePane document. It works fine when there opened only one message in TB.
But if there are several opened messages, then every message window gets the same field value, because every window triggers "load" event of last loaded message. It is bug.
When I'm receiving load event, how can I determine the msgHdr of message opened in the window? Is it stored somewhere? Have the windows any identity information like handle, uri or something else? Why DOM inspector shows only one DOM node of my field while it exists in every messagePane? Sorry for a bag of questions, I just cannot understand the whole mess with TB windows.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

内心荒芜 2024-10-26 02:29:28

消息窗口有全局变量 gMessageDisplay,它具有 displayedMessage 属性。 displayedMessage 是当前显示消息的 nsIMsgDBHdr。

为了在显示新消息时获取通知,我建议向 gMessageListeners 添加一个侦听器:

gMessageListeners.push({
  onStartHeaders: function () {},
  onEndHeaders: function () {},
  onEndAttachments: function () {},
  onBeforeShowHeaderPane: function () {}
});

在 onStartHeaders 或 onEndHeaders 中执行操作。

Message windows have the global variable gMessageDisplay which has the property displayedMessage. displayedMessage is the currently displayed message's nsIMsgDBHdr.

For getting notifications when a new message is displayed I suggest adding a listener to gMessageListeners:

gMessageListeners.push({
  onStartHeaders: function () {},
  onEndHeaders: function () {},
  onEndAttachments: function () {},
  onBeforeShowHeaderPane: function () {}
});

Take your action in onStartHeaders or onEndHeaders.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文