【问题标题】:Is it possible to modify a firefox addon written using XUL with an addon written using the Addon SDK是否可以修改使用 XUL 编写的 firefox 插件和使用 Addon SDK 编写的插件
【发布时间】:2013-09-11 17:27:15
【问题描述】:

我想编写一个增强现有插件的插件(例如,添加一个选项对话框)。我不想直接修改原始插件的代码。我希望的原始插件是使用 XUL 编写的。 这是否意味着我也必须使用 XUL 编写我的插件?或者我可以使用更新的插件 SDK 吗?

谢谢!

【问题讨论】:

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


【解决方案1】:

是的,可以扩展其他附加组件。实际上有很多插件可以扩展或与其他插件交互,例如 Element Hiding Helper 扩展 Adblock Plus 和许多 Firebug 插件。

如何做到这一点取决于您尝试扩展的实际插件的实现。因此,我只能给您一些一般性的指示/说明:

  • 您可以将 XUL 叠加层添加到附加的 XUL 窗口/叠加层中,就像您可能有一些用于 browser.xul 或其他核心代码一样。
  • 当然,您也可以使用 DOM API 来操作任何第三方 XUL DOM。
  • 您可以monkey-patch Javascript 中的全局函数和对象和/或替换/包装大多数 XPCOM 组件。
  • 插件 SDK 不能使用覆盖。因此,您必须使用window/utils 或类似方式来访问 XUL 窗口,并且可以从那里使用 DOM API。
  • 有一些方法可以在 Javascript 代码模块中对代码进行猴子补丁,如果您确实需要...
  • 据我所知,SDK 模块和/或内容脚本的猴子补丁非常困难且非常脆弱。
  • ping 插件的作者以寻求帮助、反馈或只是为了提醒总是好的。通常,作者甚至可能愿意公开他们自己的扩展 API,以使他们的附加组件更易于扩展。例如。我过去创建了这样的 API,也让其他作者为我创建了 API。

【讨论】:

  • 谢谢,我需要扩展现有的插件,我想知道使用插件 SDK 是否比旧的 XUL 格式更好。由于使用 DOM API 操作菜单可能是不太理想的选择,我想我会使用 XUL。
  • 是的,在这种情况下使用 SDK 实际上可能更复杂。
猜你喜欢
  • 2014-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多