我目前有一个Firefox扩展/插件组合,运行良好,并使用NPAPI(Firebreath)C ++代码和Javascript的组合编写。扩展程序通过定义浏览器覆盖(overlay.xul / overlay.js)来实现,该覆盖通过脚本src =“overlay.js”标记加载到每个网页上。
我需要针对即将发布的Firefox Webextensions更改和XPCOM / XUL的弃用进行调整。
据我所知,Webextensions主要基于Javascript。我怎样才能继续使用扩展程序的C ++部分?请注意,由于各种原因,将C ++ NPAPI库移植到Javascript是不可能的。
答案 0 :(得分:0)
您必须使用Native messaging将部分代码保留在C ++中。
请注意,只有后台脚本可以直接与您的本机/ C ++代码通信。但是稍后可以将这些消息发送到您的内容脚本。
C ++代码与后台脚本之间的通信是通过stdin
/ stdout
进行的。
github上的python脚本和web扩展之间有一个很好的例子:https://github.com/mdn/webextensions-examples/tree/master/native-messaging