有没有办法将sharejs与其中包含HTML-Content的<div contenteditable="true">Content <b>with html</b></div>
这些元素结合使用?
或者还有其他与HTML内容或富文本相关的操作转换(OT)最佳实践吗?怎么可以用node.js来完成?
答案 0 :(得分:1)
可以在诸如DOM树之类的树上定义OT算法。我为DOM操作编写了一个符合shareJS标准的OT类型:https://github.com/marcelklehr/dom-ot
但请谨慎使用。即使它有效,问题是如果同步原始DOM是一个好主意,真的是你想要的。许多浏览器都有关于DOM实现的各种怪癖,特别是在处理可信任的元素时。
另一种方法是依靠浏览器内的富文本编辑器来提供OT互操作性。例如,对于v5,CKeditor团队目前devising such a feature。 ProseMirror advocates and supports一种类似于版本控制系统中的变基和变换方案(与OT的不同之处在于,如果您以不同的顺序应用编辑,则不能保证副本会收敛。)