如何创建具有单个按钮的Firefox插件(与Echofon相同)?

如何创建具有单个按钮的Firefox插件(与Echofon相同)?,firefox,firefox-addon,browser,Firefox,Firefox Addon,Browser,我想知道如何创建与Firefox窗口相同的自定义压缩菜单的Firefox插件。 刚才我在Echofon看到了。这是图片,看起来棒极了! 所以,请告诉我,我们如何在插件窗口中创建这样的插件。我认为没有简单的解决方案。必须删除默认窗口标题栏(via),并用自己的(使用)替换它。然后,它的样式必须与所有操作系统和主题(Windows XP常规、Windows XP经典主题、带Aero的Vista/7、不带Aero的Vista/7等)相匹配。通过查看chrome://browser/skin/brow

我想知道如何创建与Firefox窗口相同的自定义压缩菜单的Firefox插件。 刚才我在Echofon看到了。这是图片,看起来棒极了!


所以,请告诉我,我们如何在插件窗口中创建这样的插件。

我认为没有简单的解决方案。必须删除默认窗口标题栏(via),并用自己的(使用)替换它。然后,它的样式必须与所有操作系统和主题(Windows XP常规、Windows XP经典主题、带Aero的Vista/7、不带Aero的Vista/7等)相匹配。通过查看
chrome://browser/skin/browser.css
,搜索“应用菜单按钮”和“标题栏”。请记住,您只看到一个操作系统的样式-Firefox对不同的操作系统使用不同的主题

我收集了一个主要在Windows7上使用Aero的示例(下拉箭头需要用不同的图像替换,当窗口最大化时,按钮位置仍然错误)。窗口本身(
test.xul
)如下所示:


窗口内容
test.css
中的样式如下(大部分是从
browser.css
复制的):

:根目录{
-moz外观:-moz win无边框玻璃;
背景色:透明;
}
#应用菜单按钮:悬停:活动,
#应用程序菜单按钮[打开]{
边界半径:0;
}
#应用菜单按钮{
-moz外观:无;
-moz用户焦点:忽略;
背景剪辑:填充框;
边界半径:0 0 4px 4px;
颜色:白色;
文本阴影:0 1px rgba(0,0,0,7),
0.1px1.5pRGBA(0,0,0,5);
字体大小:粗体;
填充:0.1.5em.05em;
保证金:2px 0 2px;
背景图像:-莫兹线性梯度(rgb(247182,82),rgb(215,98,10)95%);
边框:2倍实心rgba(83,42,6,9);
边框顶部样式:无;
-moz边框左侧颜色:rgba(255255255.5)rgba(83,42,6.9);
-moz边框底色:rgba(255255255.5)rgba(83,42,6.9);
-moz边框右侧颜色:rgba(255255255.5)rgba(83,42,6.9);
边缘底部:-1px;/*补偿白色外边框*/
盒影:0 1px 0 rgba(255255255,.25)插图,
0 0 2px 1px rgba(255255255.25)插图;
}
#应用菜单按钮:悬停:不(:活动):不([打开]){
背景图像:-莫兹径向梯度(中心底部,最远侧,rgba(252240,89,5)10%,rgba(252240,89,0)70%),
-moz径向梯度(中心底部、最远侧、rgb(236133,0)、rgba(255229172,0)),
-moz线性梯度(rgb(246170,69)、rgb(209,74,0)95%);
边框颜色:rgba(83,42,6,9);
方框阴影:0 1px 0 rgba(255255255,.1)插图,
0 0 2px 1px rgba(250234169.7)插图,
0-1px0 rgba(250234169.5)插图;
}
#应用菜单按钮:悬停:活动,
#应用程序菜单按钮[打开]{
背景图像:-莫兹线性梯度(rgb(246170,69),rgb(209,74,0)95%);
盒影:0 2px 3px rgba(0,0,0,4)插图,
0 1px 1px rgba(0,0,0,2)插图;
}
#应用菜单按钮>。按钮框{
边框样式:无;
填充:0px;
边际:0px;
}
#标题栏间隔棒{
指针事件:无;
}
#标题栏按钮盒{
-moz外观:-moz窗口按钮框;
-moz边距末端:20px;
}
:root[sizemode=“maximized”#标题栏按钮框{
-moz外观:-最大化moz窗口按钮框;
}
#小标题栏{
-moz外观:-moz窗口按钮最小化;
}
#标题栏最大值{
-moz外观:-最大化moz窗口按钮;
}
:根[sizemode=最大化]#标题栏最大值{
-moz外观:-moz窗口按钮恢复;
}
#标题栏关闭{
-moz外观:-moz窗口按钮关闭;
}
我用以下命令打开了窗口:

窗口。打开(“chrome://.../test.xul“,”空白“,”铬,全部,中心屏幕,可调整大小“;
这就是最终结果:


我会尝试一下,并把它作为答案。如果对我有用的话。目前+1。Thanks@NagaHarishMovva:请先阅读答案。你不应该期望这会奏效,因为它不会。要让它正常工作,你需要投入大量的精力,就像Firefox开发者那样(而Echofon开发者没有,至少在他们的Firefox扩展上是这样)。但是,它显示我的弹出窗口颜色为黑色。是的,在Firefox插件开发人员的帮助下开发了一个示例插件。他很好地指导了我,我得到了我所期望的结果。谢谢你的回答。我只是想知道魔法。