有没有办法在Thunderbird扩展中添加一个事件处理程序,当用户点击“回复”时触发?我可以在Thunderbird扩展中挂钩回复事件吗
0
A
回答
0
在compose_overlay.js:
window.addEventListener("compose-send-message", mySendHandler, true);
window.addEventListener("compose-window-init", myReplyHandler, true);
function mySendHandler(evt){
var msgcomposeWindow = document.getElementById("msgcomposeWindow");
var msg_type = msgcomposeWindow.getAttribute("msgtype");
// do not continue unless this is an actual send event
if(!(msg_type == nsIMsgCompDeliverMode.Now || msg_type == nsIMsgCompDeliverMode.Later))
return;
//do not continue unless it is a reply action (not a forward)
var msgType = gMsgCompose.type;
if(!(msgType == Components.interfaces.nsIMsgCompType.ReplyToSender || msgType == Components.interfaces.nsIMsgCompType.Reply))
return;
var origURI = gMsgCompose.originalMsgURI;
if(origURI == ""){
return;
}
var TBmain = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService().QueryInterface(Components.interfaces.nsIWindowMediator).getMostRecentWindow("mail:3pane");
var msgHdr = TBmain.messenger.messageServiceFromURI(origURI).messageURIToMsgHdr(origURI);
//TODO
//Do something with the msgHdr
}
function myReplyHandler(evt){
var origURI = gMsgCompose.originalMsgURI;
var TBmain = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService().QueryInterface(Components.interfaces.nsIWindowMediator).getMostRecentWindow("mail:3pane");
var msgHdr = TBmain.messenger.messageServiceFromURI(origURI).messageURIToMsgHdr(origURI);
//TODO
//Do something with the msgHdr
}
礼貌:gaurang1988
http://forums.mozillazine.org/viewtopic.php?p=9182225&sid=c81555cc47c06bafde88cadbbd7f7808#p9182225
0
根据您的目标,您可以覆盖回复按钮,并在用户单击回复按钮时获得点击事件。
相关问题
- 1. 我可以在UIViewController中扩展viewWillAppear吗?
- 2. 我可以在SMLNJ中扩展typedef吗?
- 3. 我可以在链接库中挂钩函数吗?
- 4. 是否可以在Subversion中创建自定义挂钩事件
- 5. Thunderbird扩展入门
- 6. 用户在TextView上复制或粘贴时可以挂钩吗?
- 7. 从win32事件挂钩C++回调
- 8. 我可以切换扩展器的可扩展性吗?
- 9. 如何挂钩回调以点击星级控件的事件
- 10. 在RequestNavigate到userControl时可以挂钩什么事件?
- 11. 挂钩在黑莓中重画事件
- 12. 在Javascript中,您可以扩展DOM吗?
- 13. 可以在Typescript中扩展类型吗?
- 14. 我可以扩展Overlay类吗?
- 15. 我可以扩展php类型吗?
- 16. C#我可以从EntityFramework扩展IdentityMessage吗?
- 17. 我可以用C++扩展lisp吗?
- 18. 我可以修改或扩展ChartJS吗?
- 19. 在ASP.NET中,如何在客户端挂钩回发事件
- 20. 用C++开发Thunderbird扩展
- 21. 事件不挂钩正确
- 22. TWebBrowser - 挂钩接收事件
- 23. 如何挂钩键事件
- 24. 在Chrome扩展的事件页面中重复添加事件侦听器可以吗?
- 25. 是否可以扩展Intellitrace事件?
- 26. RestEasy可以扩展@Path吗?
- 27. 禁用Thunderbird文件夹扩展
- 28. 在Mercurial中指定挂钩时可以指定Windows shell吗?
- 29. 可以在基类中有对象瞬时'挂钩'吗?
- 30. 我可以在InnoDB事务中检索挂起的查询吗?