ACE编辑器,使用socket.io在文档中添加和更新多个游标

时间:2014-05-21 14:58:31

标签: javascript node.js socket.io ace-editor

我正在尝试使用ACE编辑器和socket.io创建实时协作会话。

我正在将光标位置,行和列传输给所有侦听客户端。

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

这就是我对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',function(data){

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


});
  1. 如何将另一个光标添加到所有侦听客户端的文档中。
  2. 由于某种原因,我得到多个套接字调用和无限循环。我做错了什么?

1 个答案:

答案 0 :(得分:2)

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

  

我似乎无法取消选择之前的选择,让编辑充满了大量的   选择和游标。

调用removeMarker或修改旧范围。

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

中的代码