我一直在使用 CKEditor 5:
var mySelection = editor.getSelection();
例如,获取选定的文本并将其保存到数据库中。
我想知道是否有更简单的方法将所选文本保存到数据库,然后在恢复文本后将其设置为在编辑器窗口中自动选择。
一种保存选择并在同一文本中再次设置选择的简单方法。 有没有类似的插件?
问候
最佳答案
这是获取所选内容的方法。您应该像以前一样获得一个选择,从中获取一个范围 (
.getFirstRange()
),使用for ( const item of range.getItems() )
进行迭代范围内的所有项目,检查某个项目是否是文本节点 (item.is( 'textProxy' )
),如果是,则将其数据添加到结果中 (result = result + item.data
)。这样您就可以获得所选内容内的文本。要恢复内容的一部分,您必须将模型范围保存在数据库中,然后恢复它并对其执行某些操作。没关系,但您需要保证内容在保存范围和内容之间不会发生变化(因此范围不会过时)。
我不确定您要实现什么功能,但看起来您可以使用 Markers
关于CKEditor 5 保存选定的文本并在恢复内容后将其再次设置为选定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51518889/