扩展是否可以为本机消息传递主机提供自己的位置?

时间:2013-12-27 01:04:14

标签: google-chrome google-chrome-extension google-chrome-app

我有一个使用本机消息传递来启动服务器的扩展。它 通过启动主机的本机消息传递API发送消息 处理;主机进程在临时端口上启动HTTP服务器 并将端口号发送回扩展名;那么扩展 连接到该端口。所有这一切都很好。

我试图以两种方式推广这种机制,而不是 弄清楚该怎么做。

(1)我想允许多个应用程序与a进行通信 单个安装的本机消息主机。目前,每个应用程序 需要安装自己的主机,配置信息 关于应用程序(基本上包含“服务器”的所有代码) 对于该应用程序)。我想使用一个可以的主机 为任意应用服务。

(2)因此,我希望能够通过开始这个过程来启动这个过程 应用程序连接到本机消息传递主机并提供​​它 扩展的安装目录。那我就像当地人一样 消息传递主机能够读取该目录 配置信息,代码等,以便它可以初始化自己 适当。基本上,我想要本机消息传递主机 能够以任意方式运行与扩展捆绑在一起的代码和脚本 数据格式(在我的例子中,可能是纯文本,JavaScript文件和Java JAR /类 文件)来实现“服务器”或“本机”部分 应用

鉴于NPAPI插件应该使用。重新实现 本机消息传递API,我假设这是可能的,我 只是无法弄清楚如何做到这一点。

我提出的唯一可行的方法似乎过分了 复杂且表现不佳 - 基本上,我相信我可以允许 主机通过主机发送来从扩展中加载代码 “请求”给客户端(通过发布JSON消息,带有请求ID和路径,比如说),并让客户端使用带有ArrayBuffer的XMLHttpRequest(在最常见的情况下) 到它自己的chrome-extension:// URL(由chrome.runtime使用路径作为getURL的参数获得)到 读取其文件,将它们作为JSON序列化回主机。会这样吗? 工作?这是预期的方法吗?

0 个答案:

没有答案