CKEditor4:如何保存和恢复光标/插入符号的位置



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

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

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

谢谢你的帮助!

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

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

为了使书签可序列化(这样您就可以将整个内容保存到DB中,然后在加载内容时恢复选择),您必须像createBookmark( true )一样将true传递给creatBookmark,这表明书签节点必须包含ID,ID可以用于恢复范围。

最新更新