【问题标题】:Make a NPAPI plugin(made for firefox) run into chrome browser使 NPAPI 插件(为 firefox 制作)运行到 chrome 浏览器中
【发布时间】:2023-03-26 15:58:02
【问题描述】:

我有一个 NPAPI 插件,在 firefox 中运行良好。现在我想将它移植到 chrome 浏览器,这意味着我希望它也可以在 chrome 中工作。 但是我在浏览互联网和许多链接后了解到,chrome 不再支持 NPAPI,而是现在它支持胡椒 API,现在有了原生客户端的概念。

到目前为止,我的理解是,如果我将 NPAPI 代码(为 firefox 插件制作)替换为 Pepper API 代码,并且在编译时,一个 pexe 文件(本机客户端模块)以及清单文件(即参考 pexe 文件的位置)将被生成,该文件将保存在服务器上。 当一个具有描述特定 MIME 类型的 embed 标记的 html 页面被加载时,例如“application/x-pnacl”,然后通过 embed 标记的 src 属性(指清单文件),获取清单文件,然后获取实际的 pexe 文件然后由本机客户端插件/在本机客户端插件中运行(已经存在于 chrome 中)。

我不确定这种理解是否正确。我假设就像firefox插件一样,pexe文件将存储并安装在本地用户PC上,然后由chrome作为插件检测/加载。请告诉这是否正确。

另外,我想问一下是否还有任何方法可以在 chrome 中运行 NPAPI 插件。如果是请告诉我,否则我不应该考虑它。

【问题讨论】:

  • 我有一个带有 NaCl 的 chrome 插件,它提供加​​密解密 API 来加密或解密我在 chrome 扩展中的请求,我正在开发一个 Firefox 插件来完成同样的工作。但是这里的 NaCl 不受 Firefox 支持。如何将 pexe 文件嵌入到 firefox 插件 background.js 中

标签: google-chrome plugins npapi google-nativeclient ppapi


【解决方案1】:

首先,出于安全原因,Chrome 不再支持 NPAPI 插件: https://support.google.com/chrome/answer/6213033?hl=en

插件必须使用 Pepper 插件 API (PPAPI) 并编译为 Native Client (NaCl) 可执行文件,以便验证插件二进制文件可以安全运行。 Portable Native Client (PNaCl) 插件可以由任何网页加载,而无需用户安装任何东西。但是,如果您的插件很大,您可能希望通过 Chrome 网上应用店将其作为 Web 应用程序分发。在这种情况下,您可以将 .nexe 或 .pexe 与您的应用程序捆绑在一起,以便将其有效地安装在用户的计算机上。

此链接描述了如何分发插件: https://developer.chrome.com/native-client/devguide/distributing

【讨论】:

  • 这个答案是正确的;还要注意 NaCl 和 NPAPI 之间存在显着差异;安全模型完全不同。您当然可以在 chrome 上手动重新启用 NPAPI,但这只会在短时间内有效,因为 Chrome 很快就会完全取消支持。这是否是一个好的解决方案取决于您的插件;使用 Native Client 做一些事情可能会更好,这是 FireBreath 2.0 采用的路线; NaCl 有更好的绘图,Native Client 有“浏览器外”的安全模型。您使用什么取决于您的需求
  • @bbudge 和出租车司机,嗨!感谢您的回答。我知道 pexe 文件可以作为插件存储和安装在用户本地机器上。但我怀疑当 pexe 作为插件安装时,它是否会在 chrome://plugins 路径中显示为单独的插件,就像显示 Adob​​e Flash Player 插件一样?
猜你喜欢
  • 2012-01-29
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 2015-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
相关资源
最近更新 更多