gpt4 book ai didi

firefox - Chrome 和 Firefox 不会长期支持 NPAPI。我有什么选择?

转载 作者:行者123 更新时间:2023-12-02 14:21:05 24 4
gpt4 key购买 nike

Chrome 和 Firefox 已宣布他们将很快放弃对 NPAPI 插件的支持。

参见http://techcrunch.com/2013/09/23/say-goodbye-to-npapi/

对于 Chrome,如果我想从 JavaScript 执行一些 C++ 代码,我有几个选择,例如迁移到 Native Client (NaCl)。

但是我在 Firefox 中有哪些选项?

基本上,我有一个使用附加组件 SDK 构建的 Firefox 附加组件,并且我想从附加组件内容脚本 (JavaScript) 调用一些 C++ 代码。我以前使用过 NPAPI,但现在我想转向将得到更长期支持的东西。

提前致谢。

最佳答案

仅仅为了“调用一些C++代码”而安装NPAPI插件实际上并不是一件好事。 NPAPI 插件将适用于所有网站,而不仅仅是您的附加组件...您是否确保如果随机网站以您意想不到的方式访问这些内容,这些内容不会损坏?

无论如何,现在在 Firefox 中运行二进制代码有不同的机制:

  1. js-ctypes是最不痛苦且推荐的方法。基本上,您将定义一个可以导入到 Javascript 中并与之交互的 C API/ABI。
  2. XPCOM 二进制组件。基本上整个 Firefox 后端都是使用二进制 XPCOM 组件编写或粘合在一起的。也可以在附加组件中实现它们,尽管入门的学习曲线相当陡峭,并且文档分散在许多地方并且几乎“不完整”。另一个巨大的缺点是您需要为每个新的 Firefox 版本重新编译和重新测试模块(js-ctypes 则不然)。

使用附加 SDK 会使事情变得更加复杂,但您应该已经习惯了,因为您现在正在使用 NPAPI 插件。

我建议您首先确定您的附加组件中是否确实需要二进制文件,或者是否需要 JS 实现(具有现代功能,例如类型化数组,甚至可能通过 emscripten 的 asm.js)和 HTML5(canvas 、音频/视频)也可以。如果没有,至少轻量级 js-ctypes 可以。

此外,Firefox 中的 NPAPI 插件目前还不会消失。目前它们将可用,但用户必须启用它们(点击播放)。附加组件可能可以解决这个问题,暂时根据需要启用它们。所以没必要着急。

关于firefox - Chrome 和 Firefox 不会长期支持 NPAPI。我有什么选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com