在Node.js产生调用之后监听firefox加载事件

时间:2014-05-27 07:44:22

标签: javascript node.js firefox

我需要使用Node打开firefox的多个窗口/标签。现在,当我使用spawn()调用时:

var spawn = require('child_process').spawn;
ff = spawn('firefox', ['www.stackoverflow.com', '-new-tab']);

如果我一个接一个地使用两个(或更多)调用,firefox声称有一个页面没有响应,并且不会打开另一个窗口。
这可以通过sleep()的一些实现来解决 - 这是不好的做法,因为无法知道实际的加载时间。
这就是为什么我正在寻找一个当firefox窗口/标签被认为“不忙”时被触发的事件 - 我在ChildProcess类documentation中搜索过,并没有看到任何此类事件 由于我正在加载的页面连接到Node http服务器,并使用socket.io,我正在考虑一种解决方法:当页面完成加载时,我将使用socket.io通知服务器窗口已准备好,然后能够打开一个新窗口 - 但这似乎是错误的。

1 个答案:

答案 0 :(得分:0)

我最终使用了socket.io解决方法;在客户端,我使用jQuery来了解页面何时完全加载,然后发送一个"页面加载"通过socket.io发送消息:

//client side:
jQuery(function($)
{
    socket = io.connect();
    socket.emit('page loaded', {'someKey': 8);
}

如果某人有更好的方式,我很高兴听到