使用Add-on SDK添加工具栏按钮?为Firefox附加组件集成XUL和附加SDK?

时间:2011-10-06 04:23:49

标签: firefox firefox-addon xul firefox-addon-sdk

我已经使用Add-on SDK API编写了大部分Firefox插件。我现在发现Add-on SDK可能不够强大,不适合我的目的。我需要两件事:

  1. 位置栏旁边工具栏中的下拉按钮。
  2. 修改firefox中的加载项管理器
  3. 这确实令人失望,但我不相信Add-on SDK可以实现这些功能。

    首先,我了解Add-on SDK API中有一个widget模块。但这只允许我在笨拙的附加栏上添加一个简单的图标或标签。如果我需要为Firebug或Greasemonkey的位置栏旁边添加一个更好的按钮怎么办?至于在firefox中修改附加组件管理器,我尝试Nickolay Ponomarev's XUL with the Add-on SDK没有任何成功。如果有人知道如何使这个工作,并可以指出我非常有帮助的方向(cfx init --template xul没有做任何常规SDK在我尝试时做的事情)

3 个答案:

答案 0 :(得分:3)

你看过Erik Vold的工具栏按钮模块吗?

https://github.com/erikvold/toolbarbutton-jplib/

可以通过要求chrome权限访问SDK模块中所有Firefox的内部api;它不会像addon-kit高级apis那么容易。

答案 1 :(得分:2)

上面引用的toolbarbuttonlib-jplib不再存在,但请尝试toolbarwidget-jplib。它就像一个魅力!终生保护。

答案 2 :(得分:1)

  

尝试使用Jetpack的Nickolay Ponomarev的XUL,但没有任何成功。如果有人知道如何使这个工作,并指出我正确的方向,这将是非常有帮助的(cfx init --template xul没有做任何常规sdk尝试时做的事情)

我非常希望听到您尝试过的详细说明以及失败的原因。我无法以目前的形式回答这个问题。

  

我不相信JetPack可以实现这些。

您的意思是仅使用内置的高级SDK模块。可以编写一个使用XPCOM的低级SDK模块,并直接与chrome代码交互以实现您需要的功能 - 毕竟这是其他SDK模块的实现方式。如果你走这条路线就会失去SDK未来的兼容性承诺 - 你必须要么将它包含在上游SDK中,要么自己更新为新的Firefox版本。