【发布时间】:2014-06-08 21:26:52
【问题描述】:
如何在浏览器扩展程序和本机应用程序之间建立进程间通信?是否有任何跨平台(Linux 和 Mac OS X)和跨浏览器的解决方案(Firefox、Chrome、Safari)?
我想到的唯一想法是使用原生 Web 技术,即在原生应用程序中嵌入 HTTP 服务器并使用 XmlHttpRequest 或 WebSockets。但是,这听起来有点笨拙,带有一些问题(例如安全性)。有没有更好的选择?
【问题讨论】:
-
跨浏览器?可能不是。浏览器旨在与 Web 服务器通信,您想要的跨浏览器解决方案越多,您获得额外功能的机会就越少。
-
实际上,前段时间 NPAPI 可能是一种方式,但至少在 Chrome 中它已完全弃用扩展程序。
-
跨浏览器是指允许我拥有一个“协议”和一个“服务器”组件的解决方案,即使“浏览器端”实现会有所不同。
-
NPAPI 在 Firefox 中也被弃用(嗯,有点)。 addons.mozilla.org 很久以来不接受提交 NPAPI 插件或包含此类插件的附加组件。
标签: google-chrome-extension firefox-addon ipc safari-extension browser-extension