CKEditor 5 保存选中的文本并在恢复内容后再次设置为选中
CKEditor 5 save selected text and set it again as selected after recover the content
我一直在使用 CKEditor 5:
var mySelection = editor.getSelection();
获取选定的文本并能够将其保存到数据库中。
我想知道是否有更简单的方法将选定的文本保存到数据库,然后在恢复文本后将其设置为在编辑器中自动选择 window。
一种在同一文本中保存选择并再次设置选择的简单方法。
有没有插件之类的?
此致
这是获取选中内容的方法。你应该像你一样得到一个选择,从中得到一个范围(.getFirstRange()
),使用for ( const item of range.getItems() )
遍历范围内的所有项目,检查一个项目是否是文本节点(item.is( 'textProxy' )
),如果是,则将其数据添加到结果中 (result = result + item.data
)。这样你就可以获得选择中的文本。
要恢复部分内容,您必须将模型范围保存在数据库中,然后恢复它并对其进行处理。没关系,但你需要保证内容不会在保存范围和内容之间改变(所以范围不会过时)。
我不确定您要实现什么功能,但看起来您可以使用 Markers
我一直在使用 CKEditor 5:
var mySelection = editor.getSelection();
获取选定的文本并能够将其保存到数据库中。 我想知道是否有更简单的方法将选定的文本保存到数据库,然后在恢复文本后将其设置为在编辑器中自动选择 window。
一种在同一文本中保存选择并再次设置选择的简单方法。 有没有插件之类的?
此致
这是获取选中内容的方法。你应该像你一样得到一个选择,从中得到一个范围(
.getFirstRange()
),使用for ( const item of range.getItems() )
遍历范围内的所有项目,检查一个项目是否是文本节点(item.is( 'textProxy' )
),如果是,则将其数据添加到结果中 (result = result + item.data
)。这样你就可以获得选择中的文本。要恢复部分内容,您必须将模型范围保存在数据库中,然后恢复它并对其进行处理。没关系,但你需要保证内容不会在保存范围和内容之间改变(所以范围不会过时)。
我不确定您要实现什么功能,但看起来您可以使用 Markers