Roa*_*ast 5 html javascript ace-editor
我正在测试 ace-editor 以显示来自服务器的大文本文件。由于它能够处理多达 400 万行的文件并具有文本突出显示功能,因此它是一个不错的选择。
我一直在努力理解Ace Editor的Document和EditSession。根据我的理解,可以告诉 ace 编辑器从文件中读取并显示它。
我正在使用createEditSessiont () 创建会话并指定文档。从 api 文档:
createEditSession(Document | String text, TextMode 模式)
文件:必填。如果 text 是一个 Document,它会将 EditSession 与它相关联。否则,将创建一个新文档,初始文本为
这是我的代码:
<script src="../src/ace.js"></script>
<script>
var docSession = new ace.createEditSession("../Files/myFile.log", "ace/mode/plain_text");
var editor = ace.edit("editor");
editor.setSession(docSession);
editor.setTheme("ace/theme/dawn");
</script>
Run Code Online (Sandbox Code Playgroud)
不幸的是,页面上显示的只是“../Files/myFile.log”。我猜它是用该文本创建另一个文件,而不是阅读文档。如何正确告诉它显示 myFile.log 的内容?
Ace 不以任何方式处理文件,它只是编辑器的前端组件。createEditSessions 定义中的文档是Aces Document
对象
的实例,而不是文件。
要将文件加载到 ace 中,您需要使用 ajax 调用从服务器获取其内容。类似https://github.com/ajaxorg/ace/blob/v1.1.7/demo/kitchen-sink/doclist.js#L164