【问题标题】:Packaging NPAPI plugins into firefox add-ons将 NPAPI 插件打包到 Firefox 附加组件中
【发布时间】:2012-09-20 16:16:07
【问题描述】:

我正在尝试将 npapi 打包到我正在编写的 firefox 插件中。如果我将插件安装到 ~/Library/Internet Plug-ins/ 它一切正常,但我不能让它与 xpi 一起安装。我在插件目录的根级别有插件,但我不知道如何告诉 firefox 用 xpi 安装它。

有什么建议吗?

【问题讨论】:

    标签: firefox-addon npapi xpi


    【解决方案1】:

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

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

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

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

    更多详情请见documentation

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 为什么你认为这个问题与插件 SDK 有某种关系?它非常清楚地指的是经典的附加组件。
      • 因为现在大多数人写的是附加组件而不是经典。我没有看到任何明确说明这是经典扩展的内容,是什么让你这么说?
      • 他在谈论 XPI 打包 - 没有人使用 Add-on SDK 手动执行此操作。
      • cfx xpi 不就是这样做的吗?
      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多