在编辑器中进行更改后,获取文本并通过socket.io发送

时间:2016-02-23 23:06:53

标签: javascript socket.io ace-editor

如标题中所述,我需要在编辑器中的更改事件之后获取代码,并通过套接字发送该代码。我可以通过socket将代码发送到编辑器,但是我无法获取代码。

if(socket !== undefined){
//put latest string in DB to ACE
 socket.on('output', function(data){
   if(data.length){
     var x = data.length-1;
     editor.setValue(data[x].code);
   }
 });

// after keydown put new string to DB
 editor.on('change', function(data){
   var code = editor.getValue();
     socket.emit('input',{
       code: code
     });
 });
}
<script src="src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
var editor = ace.edit("aceEditor");
var code = editor.getValue();

//editor.setValue("new code here");
editor.getSession().setValue(editor.getValue(), 1);
editor.setTheme("ace/theme/twilight");
editor.session.setMode("ace/mode/javascript");

HTML:

<div id="aceEditor" style="height: 500px; width: 500px">some text</div>

我在浏览器控制台中收到错误消息“未捕获的ReferenceError:编辑器未定义”。谁知道为什么这是错的?

0 个答案:

没有答案