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

时间:2012-09-20 16:16:07

标签: firefox-addon npapi xpi

我正在尝试将npapi打包成我正在写的firefox附加组件。如果我将插件安装到〜/ Library / Internet Plug-ins /它都可以正常工作,但我不能用xpi安装它。我在插件目录的根级别有插件,但我无法弄清楚如何告诉firefox使用xpi安装它。

任何提示?

4 个答案:

答案 0 :(得分:1)

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

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

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

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

有关详细信息,请参阅documentation

答案 1 :(得分:0)

遗憾的是,新的firefox SDK不允许自动安装npapi插件。 “bootstrappable”的加载项不会是有效的插件源。据我所知,bootstrappable意味着它们只是从一个脚本加载,该脚本动态地将元素注入浏览器。您需要使用旧的叠加方法,您只需定义叠加层或其他内容,但说实话,我从未使用旧方法。

答案 2 :(得分:0)

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

作为一种解决方法,您可以创建包含您的插件的here包xpi和另一个仅作为插件容器的xpi。这样你就可以同时安装sdk插件和插件。

答案 3 :(得分:-1)

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