【发布时间】:2019-01-02 06:32:22
【问题描述】:
我一直在使用 CKEditor 5:
var mySelection = editor.getSelection();
例如,获取选定的文本并能够将其保存到数据库中。 我想知道是否有一种更简单的方法可以将选定的文本保存到数据库中,然后在恢复文本后将其设置为在编辑器窗口中自动选择。
在同一文本中保存选择并再次设置选择的简单方法。 有没有插件之类的?
问候
【问题讨论】:
我一直在使用 CKEditor 5:
var mySelection = editor.getSelection();
例如,获取选定的文本并能够将其保存到数据库中。 我想知道是否有一种更简单的方法可以将选定的文本保存到数据库中,然后在恢复文本后将其设置为在编辑器窗口中自动选择。
在同一文本中保存选择并再次设置选择的简单方法。 有没有插件之类的?
问候
【问题讨论】:
这是获取所选内容的方法。你应该像你一样得到一个选择,从中得到一个范围(.getFirstRange()),使用for ( const item of range.getItems() )遍历范围内的所有项目,检查一个项目是否是一个文本节点(item.is( 'textProxy' )),如果它就是,将它的数据添加到结果中(result = result + item.data)。这样您就可以获取所选内容中的文本。
要恢复部分内容的某些内容,您必须将模型范围保存在数据库中,然后恢复它并对其进行处理。没关系,但您需要保证内容不会在保存范围和内容之间发生变化(因此范围不会过时)。
我不确定您要实现什么功能,但看起来您可以使用 Markers
【讨论】: