雷鸟扩展。将字段添加到 messagePane。如何处理windows实例?
我正在开发 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
消息窗口有全局变量 gMessageDisplay,它具有 displayedMessage 属性。 displayedMessage 是当前显示消息的 nsIMsgDBHdr。
为了在显示新消息时获取通知,我建议向 gMessageListeners 添加一个侦听器:
在 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:
Take your action in onStartHeaders or onEndHeaders.