我知道这里发布了一些类似的问题,但似乎没有一个问题可以回答我的问题(或者可能是我对这个概念不太了解)。我开始想要在CKeditor实例中获取并设置插入位置(问题是here)。在帮助下,我明白我需要使用范围和偏移来实现这一目标。
但是我现在的问题是我不知道如何在某处保存这个位置,可能是数据库并恢复插入符号的位置。您可以想象用户修改文档并保存它。当他回来继续编辑时,应加载文件并将插入符号返回到最后的已知位置。
所以,要在javascript中获得CKeditor的插入位置,那没关系。我可以得到我的范围对象。但是我该怎么保存呢?如何将其发送到服务器进行存储?我该如何取回它?作为一个字符串? 是否有序列化和反序列化范围或dom节点的机制?
感谢您的帮助!
答案 0 :(得分:0)
是否有机制来序列化和反序列化范围或dom节点?
CKEditor 4中有一个名为bookmarks
的机制。您可以使用CKEDITOR.dom.range.createBookmark
,它基本上为当前范围(选择)创建书签,然后可以通过CKEDITOR.dom.range.moveToBookmark
恢复
要使书签可序列化(这样您可以将整个内容保存到数据库,然后在加载内容时恢复选择),您必须将true
传递给creatBookmark
,如createBookmark( true )
,这表示书签节点必须包含ID,可用于恢复范围。