2014-05-21 43 views
0

我正尝试使用ACE编辑器和socket.io创建实时协作会话。ACE编辑器,使用socket.io添加和更新文档中的多个游标

我向所有侦听客户端传输光标位置,行和列。

如何在所有连接的ACE客户端上添加和更新多个游标?

这是我得到的王牌:

Collaborate.editor.getSession().selection.on('changeCursor', function(e) { 

console.log(Collaborate.editor.selection.getCursor()); 
       Collaborate.socket.emit('cursorchange',Collaborate.editor.selection.getCursor()); 

}); 

这是我得到了什么事情与socket.io:

socket.on( 'cursorchange',函数(数据){

socket.broadcast.to(socket.room).emit('cursorusermove', socket.username, data); 


}); 
  1. 我如何添加其他光标给所有的监听客户端的文件。
  2. 出于某种原因,我得到多个套接字调用和无限循环。我究竟做错了什么?

回答

2

addSelectionMarker是用于绘制默认选择标记,它不允许设置颜色。 使用addMarker直接或使用addDynamicMarker看到search_highlight为例

我似乎无法取消先前的选择留下充满吨 选择和光标的编辑器。

要么调用removeMarker要么修改旧的范围。

您还可以尝试使用http://www.firepad.io/examples/#ace-FHNSp4Vai7代码