Firefox扩展:与其他应用程序通信

时间:2014-11-20 12:13:06

标签: javascript sockets firefox plugins tcp

我想要做的是:自动运行浏览器(例如firefox),打开特定网页,在DOM上执行一些javascript并将信息传递给外部(外部可能是使firefox启动的应用程序。)

您认为实现这一目标的最佳方法是什么?我想创建一个firefox插件,打开一个tcp套接字,监听触发在DOM上执行javascript代码的连接。然后,结果将通过http 传递到本地网络服务器,或传递到套接字连接的另一端。

是否也可以在firefox插件中启动网络服务器?我认为这比一直打开套接字连接要容易得多(如果没有,这样会很好)。

1 个答案:

答案 0 :(得分:0)

对于那些偶然发现这个问题的人,我现在解决了这个问题。

流程如下:

  1. Web服务器(在我的例子中用node.js编写)通过shell命令打开浏览器。
  2. 当浏览器启动插件时,它会启动套接字服务器并向Web服务器发送一个http请求,告知它已准备好接收命令。
  3. Web服务器发送命令" get-dom"将网站作为参数返回浏览器(通过套接字)。
  4. 浏览器通过页面工作者在网站上执行内容脚本,创建DOM对象并通过http请求将其发送回Web服务器。