我有一个需要能够与基于gecko的Web浏览器通信的后端软件(反之亦然)。实现这一目标的最佳方法是什么?由于HTTP是单向的(除了例如反向AJAX,我认为它非常“hacky”),我想知道如何做到这一点。
是否可以选择创建基于NPAPI的插件?基于浏览器和后端之间交换的数据,浏览器需要操纵网页的DOM。操作需要非常动态,通信速度是一个重要的要求。
我很高兴能帮助我指出正确的方向或提供可能值得阅读的有用资源!
答案 0 :(得分:1)
编写浏览器插件并不是一件容易的事,如果你可以使用像WebSockets这样的替代品(或者像web-socket-js那样的模拟,请参阅here和here了解更多详情。
如果您考虑编写浏览器插件,只有当这些替代方案由于特殊要求而无法给您足够的控制权时 有了它,您将获得本机代码的全部好处(对您选择的任何API的高度控制)以及随之而来的问题:
如果出于某种原因需要更高级别的控制,你可以
要开始使用NPAPI插件see here,要支持IE,您还必须编写content extension。最后我建议你看看FireBreath已经为你做了很多繁重工作(为IE和NPAPI隐藏了不同的API,为你提供了更高级别的API,修复了包含的浏览器错误,...... )。