CKEditor 4:如何保存和恢复光标/插入位置?

时间:2017-11-13 20:08:56

标签: html dom ckeditor range ckeditor4.x

我知道这里发布了一些类似的问题,但似乎没有一个问题可以回答我的问题(或者可能是我对这个概念不太了解)。我开始想要在CKeditor实例中获取并设置插入位置(问题是here)。在帮助下,我明白我需要使用范围和偏移来实现这一目标。

但是我现在的问题是我不知道如何在某处保存这个位置,可能是数据库并恢复插入符号的位置。您可以想象用户修改文档并保存它。当他回来继续编辑时,应加载文件并将插入符号返回到最后的已知位置。

所以,要在javascript中获得CKeditor的插入位置,那没关系。我可以得到我的范围对象。但是我该怎么保存呢?如何将其发送到服务器进行存储?我该如何取回它?作为一个字符串? 是否有序列化和反序列化范围或dom节点的机制?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  

是否有机制来序列化和反序列化范围或dom节点?

CKEditor 4中有一个名为bookmarks的机制。您可以使用CKEDITOR.dom.range.createBookmark,它基本上为当前范围(选择)创建书签,然后可以通过CKEDITOR.dom.range.moveToBookmark恢复

要使书签可序列化(这样您可以将整个内容保存到数据库,然后在加载内容时恢复选择),您必须将true传递给creatBookmark,如createBookmark( true ),这表示书签节点必须包含ID,可用于恢复范围。