实现基于Web的富文本编辑器时,我了解到
我考虑同时使用内置的document.execCommand和DOM4的mutation observer,但execCommand似乎无法胜任:
我的动机:我正在尝试定期向服务器发送文档更改,而不重新传输整个文档。我将数据作为插入和删除的HTML表示集合发送。如果有人知道如何从CKEditor中获得此功能(这样我就不必从头开始),那么我会永远感激你。
注:由于大型文档性能差,无法进行文本差异检测。
否则,我并不害怕尝试编写能够实现此功能的东西。DOM范围对象提供的方法将处理大部分繁重工作。我也希望得到关于这种可能性的建议。
document.execCommand
可用于在HTML文档上执行操作(例如使选择变粗)。但是,我需要一些更好的东西。特别地,我需要知道添加或删除的确切文本以及所在位置(作为整个文档HTML表示的偏移量)。我考虑同时使用内置的document.execCommand和DOM4的mutation observer,但execCommand似乎无法胜任:
- 我没有看到取消选定内容的方法
- 生成的HTML似乎因浏览器而异。(我想使用<span>标签而不是<b>,但一致性更重要)
- 并没有关于如何处理冗余嵌套/相邻的<span>标记的信息。
我的动机:我正在尝试定期向服务器发送文档更改,而不重新传输整个文档。我将数据作为插入和删除的HTML表示集合发送。如果有人知道如何从CKEditor中获得此功能(这样我就不必从头开始),那么我会永远感激你。
注:由于大型文档性能差,无法进行文本差异检测。
否则,我并不害怕尝试编写能够实现此功能的东西。DOM范围对象提供的方法将处理大部分繁重工作。我也希望得到关于这种可能性的建议。