将 NPAPI 插件打包到 Firefox 附加组件中



我正在尝试将npapi打包到我正在编写的Firefox附加组件中。 如果我将插件安装到 ~/图书馆/互联网插件/中,它都可以正常工作,但我无法让它与 xpi 一起安装。 我在插件目录的根级别有插件,但我不知道如何告诉 Firefox 使用 xpi 安装它。

有什么提示吗?

插件作为plugins/plugin.dylib或类似的东西放入XPI包中正是您需要做的。 Firefox 不会做任何特别的事情来安装这个插件,它会保留在扩展目录中 - 但它应该在那里被拾取。您可以打开about:plugins页面(或附加组件管理器的插件选项卡)以查看插件是否确实已安装。

还有一件事很重要:您的安装清单 ( install.rdf ) 需要包含以下行:

<em:unpack>true</em:unpack>

这建议 Firefox 在安装 XPI 软件包时将其解压缩。默认情况下,它将作为单个压缩文件而不是目录安装-但是无法从压缩文件加载插件。

有关更多详细信息,请参阅文档。

遗憾的是,新的Firefox SDK不允许自动安装npapi插件。 "可引导"的附加组件不是有效的插件源。 据我所知,bootstrappable 意味着它们只是从动态注入元素到浏览器中的脚本加载的。 您需要使用旧的覆盖方法,您只需定义覆盖或其他内容,但说实话,我从未使用过旧方法。

如果你想将

你的插件添加到SDK插件中,恐怕这是不可能的,正如msfeldstein指出的那样。即使您创建了插件目录并在install.rdf中设置了<em:unpack>true</em:unpack>,如果设置了<em:bootstrap>true</em:bootstrap>,Firefox 也不会加载插件。

作为一种解决方法,您可以按照此处所述制作一个捆绑 xpi,其中包含您的插件和另一个仅是插件容器的 xpi。这样,您就可以同时安装 sdk 插件和插件。

我使用本指南:http://devilsworkshop.org/shortest-tutorial-for-firefox-extensiontoolbar-development/,使用插件 http://pub.rtcamp.com/firefox/extensions/googbar.zip 的示例(将zip更改为xpi)。对于 npPlugin.dll创建文件夹插件并将您的插件库放在那里。

相关内容

  • 没有找到相关文章

最新更新