我使用Ace Editor为客户端创建一个简单的WYSIWYG编辑器。
我见过divshot.com有一个也使用Ace的所见即所得编辑器,但我不明白他们是如何在页面上选择元素的。他们还能够在“代码”视图中正确选择元素,并在页面视图中正确选择项。
在Ace编辑器中设置内容非常简单
editor.setValue('some text content');那么,如何将我所见即所得视图中的元素绑定到Ace编辑器呢?
顺便说一句,我也在使用Angular,我的WYSIWYG内容视图是一个iframe。
发布于 2014-12-27 02:48:09
这非常非常困难(我是Divshot的联合创始人)。
我们编写了一个专有的组件识别引擎,允许在ACE编辑器实例和呈现的HTML画布之间进行双向同步。它涉及大量的DOM遍历、选择器识别、源代码清理和ACE黑客攻击。
发布于 2015-02-04 02:24:05
您可以查看编辑器的会话,并以这种方式抓取当前文本。
rte.editor.getSession().on('change', function(e) {
var text = rte.editor.getSession().getValue();
$('#output').html(text);
});https://stackoverflow.com/questions/27642531
复制相似问题