firefox附加组件入门...... SDK是否可行?

asm*_*cdo 3 firefox-addon

构建firefox扩展的最新方法是什么?我之前已经多次问过这个问题,但是我发现的答案似乎不再是最新的,特别是因为附加构建器已被抛弃.

到目前为止,我花了一些时间学习XUL,加载项构建器和SDK.所有人都有很多教程,我发现在意识到它已经过时之前花些时间与每个教程非常令人沮丧.甚至SDK教程也经常被标记为"需要技术评审"或者已经有几年了.

如果SDK是最好的入门方式,官方Mozilla教程是最新的吗?还有其他好的选择吗?

nma*_*ier 5

取决于您想要创建的加载项的类型以及您愿意投入多少精力......

  • 简单的附加组件,例如附加组件创建一些工具栏按钮和/或与网页交互或执行一些XHR来显示一些信息:SDK可能最适合您的需求.
  • 一切可能是Greasemonkey用户脚本:SDK和page-mod.
  • 旨在修改/增强/增强Firefox(UI)本身的附加组件很可能更适合走XUL(叠加)道路.
  • 非常复杂的附加组件,例如将使用一些自己的对话框/窗口,也可能更好地使用XUL(覆盖).也有可能使用"网站"/ html而不是真正的窗口和对话框(但通常结果吮吸恕我直言).
  • 如果你真的很痛苦,那么自举(没有SDK的普通无重启加载项)总是另一种选择.

您应该记住,SDK支持的API仍然非常有限,并且设计隐藏了大量低级别的东西.因此,现在,许多SDK附加组件仍将使用该chrome模块,并保留SDK的安全环境......

我个人不喜欢SDK,因为我发现它太有限了,一旦你偶然发现SDK本身的一个错误(或者至少认为你发现了一个错误),实际上读取SDK的大量抽象是相当痛苦的.但是,简单的东西的学习曲线相当小,所以对于尝试创建简单附加组件的初学者来说,这是一个很好的选择.