2014-05-21 3 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

의 코드를 사용해 볼 수도 있습니다.
관련 문제