我有一个后端软件需要能够与基于壁虎的网络浏览器进行通信(反之亦然)。实现这一点的最佳方法是什么?由于 HTTP 是相当单向的(除了我认为非常“hacky”的反向 AJAX)我想知道如何做到这一点。
创建一个基于 NPAPI 的插件是一种选择吗?基于浏览器和后端之间交换的数据,浏览器需要对网页的 DOM 进行操作。操作需要非常动态,并且通信速度是一个重要要求。
我很高兴有任何帮助指出我正确的方向或提供可能值得一读的有用资源!
我有一个后端软件需要能够与基于壁虎的网络浏览器进行通信(反之亦然)。实现这一点的最佳方法是什么?由于 HTTP 是相当单向的(除了我认为非常“hacky”的反向 AJAX)我想知道如何做到这一点。
创建一个基于 NPAPI 的插件是一种选择吗?基于浏览器和后端之间交换的数据,浏览器需要对网页的 DOM 进行操作。操作需要非常动态,并且通信速度是一个重要要求。
我很高兴有任何帮助指出我正确的方向或提供可能值得一读的有用资源!
如果您可以使用 WebSockets 之类的替代方案(或web-socket-js 之类的仿真,请参阅此处和此处了解更多详细信息),编写浏览器插件并不是一件容易的事。
仅当此类替代方案由于特殊要求而无法为您提供足够的控制权时,您才应考虑编写浏览器插件。
有了它,您将获得本机代码的全部好处(对您选择的任何 API 的高度控制)以及随之而来的问题:
如果您出于某种原因需要更高级别的控制,您可以
要开始使用 NPAPI 插件,请参见此处,要支持 IE,您还必须编写内容扩展。最后,我建议看一下FireBreath,它已经为您完成了很多繁重的工作(隐藏了 IE 和 NPAPI 的不同 API,为您提供了更高级别的 API,包括对浏览器错误的修复,...)。