从网上查找了很多有关开发Firefox Extension的文章(感谢Google给予的支持与关怀),看看没有特别清晰的说明,在此把Firefox的开发做一个总结。
Firefox的基本架构是基于XUL的技术,Firefox的界面就是通过chrome/Browser.jar完成的。当一个Firefox界面显示出来的时候,可以把它整个看成一个DHTML的界面。也就是说Firefox的所有界面元素都可以通过getElementById的方式获取到。通过DOM你可以操纵所有在界面上显示的元素,它们都是DOM的分支。
例如: document.getElementById("contentAreaContextMenu"),可以获取右键菜单对象。增加菜单项
var undoItem = document.getElementById("context-undo"); // 撤销项
menuItemSep = document.createElement("menuseparator");//创建一个分割条
menuItemSep.setAttribute("id","thenSep");//设置ID属性
contextMenu.insertBefore (menuItemSep, undoItem);//插在撤销项前
通过Overlay方式,可以将代码加载到整个UI的DOM中,然后执行进行事件相应如 document.addEventListener("mousedown", doPrepareMenuItem, false);响应鼠标按下的操作。