Chrome和Firefox宣布他们将很快放弃对NPAPI插件的支持。
请参阅http://techcrunch.com/2013/09/23/say-goodbye-to-npapi/
对于Chrome,如果我想从JavaScript执行某些C ++代码,我有几个选项,例如转移到Native Client(NaCl)。
但我在Firefox中的选择是什么?
基本上,我有一个使用Add-on SDK构建的Firefox附加组件,我想从附加内容脚本(JavaScript)调用一些C ++代码。我之前使用的是NPAPI,但现在我想转向更长期支持的东西。
提前致谢。
答案 0 :(得分:5)
安装NPAPI插件只是为了调用一些C ++代码"实际上并不是一件好事。 NPAPI插件将可用于所有网站,而不仅仅是您的插件......如果随机网站以您不期望的方式访问它,您是否确保这些内容不会中断?
无论如何,今天在Firefox中运行二进制代码有不同的机制:
使用附加SDK会使问题进一步复杂化,但您应该已经习惯了,因为您现在正在使用NPAPI插件。
我建议您首先确定您的插件中是否确实需要二进制文件,或者是否需要JS实现(具有现代功能,例如类型化数组,甚至可能是通过emscripten的asm.js)和HTML5 (画布,音频/视频)也可以。如果没有,如果至少轻量级的js-ctypes会这样做。
此外,Firefox中的NPAPI插件目前还没有消失。目前它们将可用,但用户必须启用它们(点击播放)。加载项可能可以解决这个问题,现在可以根据需要启用它们。所以没有必要急于求成。