【问题标题】:Using sharejs with contenteditable elements使用带有 contenteditable 元素的 sharejs
【发布时间】:2014-03-19 13:29:10
【问题描述】:

有没有办法将sharejs 与包含 HTML 内容的 <div contenteditable="true">Content <b>with html</b></div> 等 contenteditable-Elements 一起使用?

或者还有其他将操作转换 (OT) 与 HTML 内容或富文本结合使用的最佳实践吗?用 node.js 怎么能做到这一点?

【问题讨论】:

    标签: javascript html node.js xhtml operational-transform


    【解决方案1】:

    可以在诸如 DOM 树之类的树上定义 OT 算法。我为 DOM 操作编写了一个符合 shareJS 的 OT 类型:https://github.com/marcelklehr/dom-ot

    不过,请谨慎使用。即使它有效,但问题是同步原始 DOM 是否是一个好主意,并且真的是你想要的。许多浏览器在其 DOM 实现方面,尤其是在处理 contenteditable 元素方面存在各种怪癖。

    另一种方法是依靠浏览器内的富文本编辑器来提供 OT 互操作性。例如,CKeditor 团队目前是devising such a feature for v5。 ProseMirror advocates and supports 一种类似于版本控制系统中的变基和转换方案(与 OT 的不同之处在于,如果您以不同的顺序应用编辑,则无法保证副本收敛)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 2011-03-31
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 2020-01-27
      • 2011-08-01
      相关资源
      最近更新 更多