由于 NPAPI 支持将于 2015 年 9 月停止,因此要使插件适用于 chrome 需要进行哪些更改

What changes to be done for making the plugin work for chrome, as NPAPI support will be stopped by Sept 2015

最近在最新的 chrome 更新版本 42 之后,NPAPI 支持在 Chrome 中默认被禁用,因此实际上放弃了对 Silverlight、Java、Facebook 视频和其他类似的基于 NPAPI 的支持plugins.As 根据 chromium 开发人员 docs 我们可以通过重写来暂时重新启用 NPAPI chrome://flags/#enable-npapi(启用 NPAPI)。然而,这个选项将只存在到 9 月 2015.They 也提到这个等待是为了关键任务插件进行过渡。

我们正在使用企业插件,并且我们对 chrome 有一定的依赖性,要进行转换,我们必须重新实现该插件。 我们需要做些什么来重新实现并且使其适用于chrome,各位大侠请多多关照。

没有通用的替代品可以完成 NPAPI 插件可以做的所有事情,所以如果不知道你的插件是做什么的,就无法回答这个问题。

您应该查看 deprecation guide 的最后一部分,看看您的插件是否属于其中的一个类别。如果没有,您应该 post 一个关于您想要完成什么的具体问题。

这实际上取决于您的插件究竟需要做什么; FireBreath 2 即将准备就绪,并通过本地消息传递支持 Chrome 中的插件,但是:

  • 对于Chrome你必须安装一个扩展以及安装二进制文件(二进制安装程序可以触发扩展安装,但必须由用户确认)

  • 没有直接绘制模型,所以你需要使用javascript层来绘制并从插件中访问它

  • FireBreath 2 插件的所有 API 现在都是异步的。

  • FireBreath 2 尚未完全准备好,但欢迎您帮助我们做好准备。

其他选项包括 Native Client,它具有更好的绘图支持,但它是沙盒的;Emscripten 允许您将 C++ 编译为 javascript,速度快得惊人,但当然也是沙盒的。您还可以编写自己的本地消息传递主机来执行您需要的操作。

正如@smorgan 所说,没有一种解决方案可以直接替代。