Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将sharejs与contenteditable元素一起使用_Javascript_Html_Node.js_Xhtml_Operational Transform - Fatal编程技术网

Javascript 将sharejs与contenteditable元素一起使用

Javascript 将sharejs与contenteditable元素一起使用,javascript,html,node.js,xhtml,operational-transform,Javascript,Html,Node.js,Xhtml,Operational Transform,是否有一种方法可以与内容可编辑元素一起使用,例如Content with html,其中包含html内容 或者,对于与HTML内容或富文本相结合的操作转换(OT),还有其他最佳实践吗?如何使用node.js实现这一点?可以在树(如DOM树)上定义OT算法。我已经为DOM操作编写了符合shareJS的OT类型: 不过要小心使用。即使它可以工作,问题是同步原始DOM是否是一个好主意,是否真的是您想要的。许多浏览器在DOM实现方面有各种各样的怪癖,尤其是在处理contenteditable元素方面 另

是否有一种方法可以与内容可编辑元素一起使用,例如
Content with html
,其中包含html内容


或者,对于与HTML内容或富文本相结合的操作转换(OT),还有其他最佳实践吗?如何使用node.js实现这一点?

可以在树(如DOM树)上定义OT算法。我已经为DOM操作编写了符合shareJS的OT类型:

不过要小心使用。即使它可以工作,问题是同步原始DOM是否是一个好主意,是否真的是您想要的。许多浏览器在DOM实现方面有各种各样的怪癖,尤其是在处理contenteditable元素方面

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