【问题标题】:Porting XPCOM Firefox extension to Chrome extension with NPAPI plugin使用 NPAPI 插件将 XPCOM Firefox 扩展移植到 Chrome 扩展
【发布时间】:2012-02-10 11:11:19
【问题描述】:

我有一个扩展,它使用 Firefox 中的 XPCOM 来工作。现在我想把它移植到 Chrome。由于使用它的唯一方法是使用 npapinpruntime,我想我至少必须重写所有的胶水。

为了尽可能多地保留源代码,我正在考虑编写一个类似于 Mozilla 中的header.pyidl 转换器。这是否已经完成和/或是否有任何资源可用于从 XPCOM 切换到 NPAPI

【问题讨论】:

  • XPCOM 对插件的支持一直是gone for a while - 你有扩展吗?
  • 很抱歉造成混淆,是的,它是一个“扩展”。
  • 所以你想将基于 XPCOM 的扩展移植到 Chrome 扩展,这可能需要一个 NPAPI 插件来进行本机调用?或者你认为你需要 NPAPI 做什么?
  • @GeorgFritzsche 我确实知道,我需要本地调用 ;)

标签: firefox google-chrome google-chrome-extension npapi xpcom


【解决方案1】:

据我所知,NPAPI 只有一个“胶水”生成器,那就是nixysa。但是,如果是我,我会继续将其移植到FireBreath;可能不会比将其直接移植到 npruntime 更难,然后您就可以利用活跃社区为不同浏览器找到的所有调整和修复,并可能在其他浏览器中使用它。

不过,我在插件世界中已经有一段时间了,但我从未见过任何将 XPCOM .idl 转换为其他格式之一的东西;我不认为创造这样的东西有那么难,但我怀疑现在很多人会需要它。

希望那里有帮助。

【讨论】:

  • 我非常不喜欢 FireBreath,但我接受使用它,因为它似乎是让 NPAPI 工作的唯一方法。 nixysa 看起来很有希望,我会研究一下。如果 nixysa 还不够,我可能会想编写自己的 'typelib.py'。
  • @LCIDFire 这显然不是这个地方,但我很想听听您对 FireBreath 的不满以及任何改进建议;如果你有兴趣,可以找我聊天。
  • 这当然不是“让 NPAPI 工作的唯一方法”。有很多直接针对 NPAPI 编写的插件,所以如果你真的不喜欢 FireBreath 而不是 NPAPI,那么没有什么能阻止你直接使用 NPAPI。 NPAPI 是浏览器实际支持的插件格式; FireBreath 只是构建在它之上的一个抽象层。
猜你喜欢
  • 1970-01-01
  • 2011-06-07
  • 2013-06-13
  • 2015-08-08
  • 2015-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多