【问题标题】:Loading NPAPI plugin in Chrome在 Chrome 中加载 NPAPI 插件
【发布时间】:2010-12-15 17:06:12
【问题描述】:

我有一个使用 Gecko SDK 1.9.2 开发的基于 NPAPI API(可编写脚本)的插件。此插件在 FF3.6 和 FF4 beta 上运行良好,但无法在 chrome 上检测到。

我也看不到列出的插件 - 当我在 chrome 中执行 "about:Plugins" 时。
我已经按照“Windows Installation Using the Registry”中的说明注册了插件。

当使用 Sysinternals 工具 Procmon.exe 监控 chrome 启动时,我可以发现 chrome 尝试在我的 Plugin dll 上执行 LoadImage,无论它快速卸载它。

任何关于为什么这个插件没有被 chrome 检测到的想法都会有所帮助。

【问题讨论】:

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


    【解决方案1】:

    如果有一个例子来说明你使用了什么键以及你把它们放在哪里会很有帮助; FireBreath 插件(适用于所有 npapi 和 activex 浏览器)使用该方法在注册表中注册自己,并且它们在 chrome 上运行良好。

    根据您的需要,甚至可能值得考虑在 FireBreath 中构建您的插件,而不是直接使用 npapi - 它的工作量要少得多,并且已经完成了针对各种浏览器的变通方法。

    要尝试的一件事是确保注册表中的文件名正确;许多版本的 firefox 只是使用注册表中指定的目录并搜索任何插件文件(这没有记录,AFAIK,这只是我的观察),而 Chrome 实际上使用路径和文件。您也可能遇到权限问题。

    【讨论】:

    • 感谢Taxilian,但是我在哪里可以获得使用FireBreath 开发的示例插件?当我下载 SDK 时,它有一个示例,但无法使用 VS 2010 进行编译。我只想快速检查 Chrome 绝对需要哪些注册表项。
    • 下载 FireBreath 时,它带有两个示例。您需要 cmake 来构建它,但它将使用 Visual Studio 2005 或更高版本构建——我每天使用 VS 2010 构建它,它工作正常。见firebreath.org/display/documentation/Building+on+Windows
    【解决方案2】:

    问题在于插件 dll 没有文件描述、MIME 类型和语言集等资源。添加正确的资源字符串解决了这个问题。

    【讨论】:

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