Dom 雷鸟插件折叠窗格
我正在尝试将folderpane添加到主视图中(类似于)。这似乎提供了一个很好的工具开始,但我想添加一个事件侦听器,这样每次我点击一封电子邮件,它将允许我做一些“额外的工作”,从服务器检索一些数据(即基于电子邮件的crm系统)。我希望能够使用像contactssidebar这样的东西作为模板来学习或类似的东西,但我的挑战是,我可以尝试通过在顶部的contactssidebar.js文件中添加以下内容来实现这一点,从中学习并测试它Dom 雷鸟插件折叠窗格,dom,xul,addeventlistener,thunderbird-addon,Dom,Xul,Addeventlistener,Thunderbird Addon,我正在尝试将folderpane添加到主视图中(类似于)。这似乎提供了一个很好的工具开始,但我想添加一个事件侦听器,这样每次我点击一封电子邮件,它将允许我做一些“额外的工作”,从服务器检索一些数据(即基于电子邮件的crm系统)。我希望能够使用像contactssidebar这样的东西作为模板来学习或类似的东西,但我的挑战是,我可以尝试通过在顶部的contactssidebar.js文件中添加以下内容来实现这一点,从中学习并测试它 window.addEventListener("load",
window.addEventListener("load", function load(event) {
window.removeEventListener("load", load, false);
myExtension.init();
}, false);
var myExtension = {
init: function() {
var appcontent = document.getElementById("appcontent"); // browser app content
if (appcontent) {
appcontent.addEventListener("OMContentLoaded", myExtension.onPageLoad, true);
}
var messagepane = document.getElementById("messagepane"); // tunderbird message pane
if(messagepane) {
messagepane.addEventListener("load", function(event) { myExtension.onPageLoad(event); }, true);
}
},
onPageLoad: function(aEvent) {
var win = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow("mail:3pane");
var currentMsg = win.gFolderDisplay.selectedMessages[0];
var currentEmail = currentMsg.mime2DecodedAuthor.replace(/^.*</, "").replace(/>$/, "");
document.getElementById("searchInputElem").value = currentEmail;
aEvent.originalTarget.defaultView.addEventListener("unload", function(event) { myExtension.onPageUnload(event); }, true);
},
onPageUnload: function(aEvent) {
// No action necessary yet
}
};
它是空的
我想我必须访问其他窗格或窗口,但不确定。该元素位于chrome\content\contactssidebar\search.xml Jar文件中
我用过的(contactssidebar)。我没有写它,只是想更新一个元素
有人知道怎么做吗 您必须在正确的DOM中搜索。看看您正在修改的扩展,看看它是如何引用该元素的。顺便说一句:如果您链接到了一个加载项,该加载项托管在Mozilla加载项上,或者托管在Github上,我可能已经完成了安装并查看了一下。事实上,我必须首先检查整个加载项,看看它是否在做任何我不想在我的机器上发生的事情(即没有恶意)。换句话说,开始帮助你的工作量太大了。
document.getElementById("searchInputElem")